Amphp之Promise助手

Posted Flybeta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Amphp之Promise助手相关的知识,希望对你有一定的参考价值。

目录

Amp之Promise助手

Amp 提供了一些小的Promise助手,即:

  • Amp\\Promise\\rethrow()
  • Amp\\Promise\\timeout()
  • Amp\\Promise\\wait()

rethrow()

rethrow(Amp\\Promise|React\\Promise\\PromiseInterface): void订阅传递的 Promise 并将所有错误转发到事件循环。该处理程序可以记录这些失败,或者如果不存在此类处理程序,事件循环将停止。
每当您想触发并忘记时,rethrow()很有用,但仍然关心发生的任何错误。

timeout()

timeout(Amp\\Promise|React\\Promise\\PromiseInterface, int $timeout): Amp\\Promise 对传递的 Promise 应用超时,使用原始值或错误原因解决,以防 Promise 在超时期限内解决,或以其他方式使返回的 Promise 失败并返回 Amp\\TimeoutException

请注意, timeout() 不会取消任何操作或释放任何资源。如果可用,请改用专用 API 选项,例如用于套接字连接超时。

wait()

wait(Amp\\Promise|React\\Promise\\PromiseInterface):混合可用于同步等待一个承诺解决。它返回结果值或在发生错误时抛出异常。wait() 阻塞并在内部调用 Loop::run()。它不应该在完全异步的应用程序中使用,但只能在将异步 API 集成到其他同步应用程序中时使用。

以上是关于Amphp之Promise助手的主要内容,如果未能解决你的问题,请参考以下文章

Amphp之协程助手

Amphp之协程助手

Amphp之Promise组合器

Amphp之Promise组合器

Amphp之Promises(承诺约定)

Amphp之Promises(承诺约定)