ES2017异步/等待功能 - 它们只适用于承诺吗?

Kos*_*ika 13 javascript async-await ecmascript-6 babeljs ecmascript-2017

我开始async/await在我的js应用程序中使用ES7函数(由Babel编译).

纠正我,如果错了,但他们只与Promises合作吗?如果是,这意味着我需要将常规回调函数包装到Promises中(我目前正在做什么).

Ben*_*aum 10

目前(和可能最终)异步/ AWAIT建议等待承诺和desugars成类似蓝鸟的Promise.coroutineawait玩的一部分yield.

这是有道理的,因为promises代表一个值+时间,你正在等待该值可用.注意await还等待承诺,比如包含它的所有其他语言中的构造,如C#或Python(3.5+).

请注意,将回调API转换为promises非常简单,有些库提供了在单个命令中执行此操作的工具.有关更多详细信息,请参阅如何将现有回调API转换为承诺.