fyre / promise
一个 Promise 库。
v2.0.7
2024-06-29 01:45 UTC
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- fyre/php-cs-fixer-config: ^1.0
- phpunit/phpunit: ^10
README
FyrePromise 是一个免费的、开源的 PHP Promise 库。
目录
安装
使用 Composer
composer require fyre/promise
在 PHP 中
use Fyre\Promise\Promise;
Promise 创建
$callback
是一个 Closure。$sync
是一个布尔值,表示是否同步执行 Promise,默认为 false。
$promise = new Promise($callback, $sync);
$callback
应该用以下格式表达
$callback = function(Closure $resolve, Closure $reject): void { $resolve(); };
方法
捕获
如果 Promise 被拒绝,则执行回调。
$onRejected
是一个 Closure,当 Promise 被拒绝时执行。
$promise->catch($onRejected);
最终
当 Promise 被解决时执行回调。
$onFinally
是一个 Closure,当 Promise 被解决时执行。
$promise->finally($onFinally);
获取拒绝原因
获取拒绝原因。
$rejectedReason = $promise->getRejectedReason();
获取解决值
获取解决值。
$resolvedValue = $promise->getResolvedValue();
是否拒绝
确定 Promise 是否被拒绝。
$isRejected = $promise->isRejected();
是否解决
确定 Promise 是否被解决。
$isResolved = $promise->isResolved();
是否解决
确定 Promise 是否已被解决。
$isSettled = $promise->isSettled();
轮询
轮询子进程以确定 Promise 是否已被解决。
$isSettled = $promise->poll();
然后
当 Promise 被解决时执行回调。
$onFulfilled
是一个 Closure,当 Promise 被解决时执行。$onRejected
是一个 Closure,当 Promise 被拒绝时执行,默认为 null。
$promise->then($onFulfilled, $onRejected);
等待
等待 Promise 被解决。
$promise->wait();
静态方法
全部
等待所有 Promise 被解决。
$promises
是一个包含要等待的 Promise 的数组。
Promise::all($promises);
等待
等待 Promise 被解决。
$promise
是要等待的 Promise。
$resolvedValue = Promise::await($promise);
拒绝
创建一个拒绝的 Promise。
$reason
是一个表示拒绝原因的字符串,默认为 null。
$promise = Promise::reject($reason);
解决
创建一个解决的 Promise。
$value
是解决值,默认为 null。
$promise = Promise::resolve($value);