【问题标题】:waiting for all promises to finish in react PHP等待所有承诺在 React PHP 中完成
【发布时间】:2016-08-22 22:16:05
【问题描述】:

我有一系列的承诺。

我只想在所有的承诺都给了我回应之后才继续,无论它们是解决还是拒绝。我认为 all() 函数可以处理它,但它看起来只有在数组中的所有承诺都得到解决并且不考虑某些承诺的拒绝时才有效。

我可以使用什么功能??

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

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

谢谢:)

【问题讨论】:

  • 我不确定为什么所有的反对票,这是使用 reactphp 承诺的合法问题。 JS 版本有超过 80 个赞,而这个是 -3。

标签: php asynchronous promise async-await reactphp


【解决方案1】:

使用all()

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

【讨论】:

  • 嘿,非常感谢,all 函数的问题是,如果任何承诺被拒绝,它就会失败......我昨天问了 Jan 同样的问题(编写 react PHP 的人libary),他告诉我,不幸的是,React PHP 没有这种能力......
  • 当然可以,为所有 promise 添加一个 catch 处理程序 - 这个 JS 问题应该给你一个想法:stackoverflow.com/questions/31424561/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 2016-09-09
  • 2018-03-05
  • 2016-10-16
  • 1970-01-01
相关资源
最近更新 更多