.github | ||
examples | ||
lib | ||
test | ||
.gitignore | ||
.php_cs.dist | ||
composer.json | ||
LICENSE | ||
phpunit.xml.dist | ||
psalm.xml | ||
README.md |
AsyncConstruct
danog/asyncConstruct
provides async class constructor and wakeup functions for AMPHP.
Installation
composer require danog/async-construct
API
- Async
- Blocking
AsyncConstruct
Simply use
this trait in your class, and define a __construct_async
async method.
The trait will automatically run the async method on construction, and expose a set of APIs to wait on the result of the constructor for initialization.
init()
Will blockingly wait for execution of the async constructor, returning its return value.
initAsynchronously()
Will return a promise that, when yield
ed, will wait for and return the return value of the constructor.
inited()
Returns a boolean, indicating whether the class was initialized or not.
BlockingConstruct
Exactly like [AsyncConstruct], except that the blocking init()
function will be automatically called on construction.
AsyncWakeup
Simply use
this trait in your class, and define a __wakeup_async
async method.
The trait will automatically run the async method on deserialization, and expose a set of APIs to wait on the result of the wakeup function for re-initialization.
wakeup()
Will blockingly wait for execution of the async wakeup function, returning its return value.
wakeupAsynchronously()
Will return a promise that, when yield
ed, will wait for and return the return value of the wakeup function.
wokenUp()
Returns a boolean, indicating whether the class was initialized or not.
BlockingWakeup
Exactly like [AsyncWakeup], except that the blocking wakeup()
function will be automatically called on wakeup.