Amphp之协程助手

Posted Flybeta

tags:

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

目录

Amp协程助手

Amp\\Coroutine需要将一个已经实例化的生成器传递给它的构造函数。在将生成器传递给 Amp\\Coroutine之前始终调用可调用对象是不必要的样板文件。

coroutine()

返回一个新函数,该函数将 $callback包装在一个 Promise/coroutine-aware函数中,该函数自动将生成器作为协程运行。

function coroutine(callable $callback): callable  ... 

使用此函数为可感知承诺的回调调用者创建可感知协程的可调用对象。

asyncCoroutine()

coroutine()相同,但在调用返回的回调时不返回 Promise。相反,promise 被传递给 Amp\\Promise\\rethrow()以自动处理错误。

call()

function call(callable $callback, ...$args): Promise  ... 

调用给定的函数,总是返回一个promise。如果函数返回一个Generator,它将作为协程运行。如果函数抛出,将返回一个失败的promise

asyncCall()

function asyncCall(callable $callback, ...$args)  ... 

call()相同,但不返回 PromisePromise会自动传递给 Amp\\Promise\\rethrow以进行错误处理。

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

Amphp之协程

Amphp之协程

Amphp之协程

Amphp之Promise助手

Amphp之Promise助手

Java之协程(quasar)