等待所有承诺完成PHP的反应

时间:2016-08-22 08:40:05

标签: php asynchronous promise async-await reactphp

我有一系列承诺。

我希望只有在所有承诺给我回复后才能继续,无论他们是否得到解决或拒绝。我认为all()函数可以处理它,但它看起来只有当数组中的所有promise都被解析并且不考虑拒绝某些promise时才会起作用。

我可以使用什么功能?

示例:函数getUser返回一个promise对象。当所有的承诺给我一个回应时,我想抓住触发器,无论承诺是否得到解决或拒绝。

array_push($this->users['users'], $this->userFetcher->getUser($userName));

谢谢:)

1 个答案:

答案 0 :(得分:2)

使用all()

$getAllUsers = React\Promise\all($this->users['users']);
$getAllUsers->then(function ($users) { 
   echo "Got all users" . $users;
});