esroyo / react-promise-settle
返回一个当所有提供的承诺都已解决或拒绝时解决的承诺。
dev-master / 1.0.0.x-dev
2021-11-26 18:19 UTC
Requires
- php: >=5.4.0
- react/promise: ^2.7.1
Requires (Dev)
- phpunit/phpunit: ^7.1 || ^6.4
This package is auto-updated.
Last update: 2024-09-27 00:50:50 UTC
README
提供官方 react/promise 中缺少的 settle()
函数。
安装
composer require esroyo/react-promise-settle
用法
$promise = Esroyo\React\Promise\settle(array $promisesOrValues);
返回一个当所有在 $promisesOrValues
中的项都解决或拒绝时解决的承诺。
返回承诺的解析值将是一个包含一个 "state" 键的关联数组,该键映射到一个有效的承诺状态。如果承诺的状态是 "fulfilled",则数组将包含一个 "value" 键,该键映射到承诺的解决值。如果承诺被拒绝,则数组将包含一个 "reason" 键,该键映射到承诺的拒绝原因。
示例结果(数组键应与 $promisesOrValues
输入一致)
[
['state' => 'fulfilled', 'value' => 'Result of work'],
['state' => 'rejected', 'reason' => 'Timeout'],
...
]
鸣谢
此包是对 cubetools/react-settle-promise 和 原始想法 的重新实现,由 @jsor 和 @SimonHeimberg 创作。