danog / async-construct
为 AMPHP 提供异步类构造函数和唤醒函数。
0.1.0
2020-07-31 13:09 UTC
Requires
- php: >=7.1
- amphp/amp: ^2
Requires (Dev)
- amphp/php-cs-fixer-config: dev-master
- amphp/phpunit-util: ^1.3
- phpunit/phpunit: ^7 | ^8 | ^9
- vimeo/psalm: dev-master
This package is auto-updated.
Last update: 2024-08-29 05:13:09 UTC
README
danog/asyncConstruct
为 AMPHP 提供异步类构造函数和唤醒函数。
安装
composer require danog/async-construct
API
AsyncConstruct
简单地在你的类中使用此特性,并定义一个 __construct_async
异步方法。
该特性将在构造时自动运行异步方法,并公开一组 API 以等待构造函数的结果进行初始化。
init()
会阻塞地等待异步构造函数的执行,返回其返回值。
initAsynchronously()
将返回一个承诺,当 yield
时,将等待并返回构造函数的返回值。
inited()
返回一个布尔值,指示类是否已初始化。
BlockingConstruct
与 AsyncConstruct 完全相同,除了在构造时将自动调用阻塞的 init()
函数。
AsyncWakeup
简单地在你的类中使用此特性,并定义一个 __wakeup_async
异步方法。
该特性将在反序列化时自动运行异步方法,并公开一组 API 以等待唤醒函数的结果进行重新初始化。
wakeup()
会阻塞地等待异步唤醒函数的执行,返回其返回值。
wakeupAsynchronously()
将返回一个承诺,当 yield
时,将等待并返回唤醒函数的返回值。
wokenUp()
返回一个布尔值,指示类是否已初始化。
BlockingWakeup
与 AsyncWakeup 完全相同,除了在唤醒时将自动调用阻塞的 wakeup()
函数。