协程和 Promise/Future 有什么区别?

问题描述 投票:0回答:1

根据我的理解,协程是一个可以暂停并稍后继续的函数。这与承诺不是一样的吗:一个在未来某个时刻停止并继续的函数?

如果存在差异,那么关键字 async 和 wait(或其他语言中的同义词)实现什么,是承诺还是协程?或者每种语言的实现会有所不同?

asynchronous language-agnostic coroutine
1个回答
0
投票

为了提高并发性,某些语言允许 future 和 Promise。被另一个函数依赖的未评估函数可能会发出承诺。承诺是可以在需要之前的某个时刻转变为值的东西。接收该值的函数会得到一个承诺。您对协程的理解是正确的。然而,未来不需要评估任何功能。协程必须达到产量才能允许下一个函数进行评估。

© www.soinside.com 2019 - 2024. All rights reserved.