esroyo / react-promise-settle

返回一个当所有提供的承诺都已解决或拒绝时解决的承诺。

dev-master / 1.0.0.x-dev 2021-11-26 18:19 UTC

This package is auto-updated.

Last update: 2024-09-27 00:50:50 UTC


README

builds.sr.ht status Software License Total Downloads

提供官方 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 创作。