我开始在我的js应用程序中使用async/await
ES7函数(由Babel编译)。
如果错误,请纠正我,但他们只与Promises合作吗?如果是,这意味着我需要将常规回调函数包装到Promises中(我目前正在做什么)。
答案 0 :(得分:10)
当前(也可能是最终的)async / await提案等待承诺和desugars到类似bluebird的Promise.coroutine
,其中await
扮演yield
的角色。
这是有道理的,因为promises代表一个值+时间,你正在等待该值可用。注意await
也会像C#或Python(3.5+)等所有其他语言中的构造一样等待承诺。
请注意,将回调API转换为promises非常简单,有些库提供了在单个命令中执行此操作的工具。有关详细信息,请参阅How to convert an existing callback API to promises。
答案 1 :(得分:2)
是的,你await
承诺。
async function myFunction() {
let result = await somethingThatReturnsAPromise();
console.log(result); // cool, we have a result
}
http://pouchdb.com/2015/03/05/taming-the-async-beast-with-es7.html