cubetools / react-settle-promise
react-promise 的 settle 函数
该软件包的规范仓库似乎已消失,因此软件包已被冻结。
0.1.0
2017-09-29 16:11 UTC
Requires
- php: >=5.4.0
- react/promise: ^2.1.0|^1.2.0
Requires (Dev)
- react/promise-timer: ^1.0.0
Suggests
- react/promise-timer: for settleWithTimeout()
This package is auto-updated.
Last update: 2022-02-09 18:34:42 UTC
README
为 React\Promise 实现settle函数。
使用方法
use CubeTools\React\SettlePromise; $promises = [ React\Promise\resolve('foo'), React\Promise\reject(new \Exception()), 'bar' ]; SettlePromise\settle($promises)->then(function(array $states) { foreach($states as $state) { if (SettlePromise\FULFILLED === $state['state']) { $promiseValue = $state['value']; ... } else { // SettlePromise\REJECTED $failureReason = $state['reason']; ... } } });
use CubeTools\React\SettlePromise; use Clue\React\Block; $loop = \React\EventLoop\Factory::create(); foreach(Block\await(SettlePromise\settleWithTimeout($promises, 5, $loop), $loop) { if (SettlePromise\FULFILLED === $state['state']) { $promiseValue = $state['value']; ... } else { // SettlePromise\REJECTED $failureReason = $state['reason']; ... } }
要替换常量,创建 \CubeTools\React\SettlePromise\SettlePromise 的子类,并定义类常量 FULFILLED 和 REJECTED。然后使用类函数,如 YourClass::settle(...)。
安装
步骤 1:下载软件包
打开命令行,进入您的项目目录,并执行以下命令以下载此软件包的最新稳定版本
$ composer require cubetools/react-settle-promise
此命令需要您已全局安装 Composer,请参阅 Composer 文档的 安装章节。