【发布时间】:2021-01-02 23:11:29
【问题描述】:
在MDN Doc,它说
async function foo() {
await 1
}
相当于:
function foo() {
return Promise.resolve(1).then(() => undefined)
}
那么什么是等价的
async function foo() {
await genPromise();
}
假设 genPromise() 返回另一个 Promise。
会不会
function foo() {
return Promise.resolve(new Promise((resolve, reject) => {})).then(() => undefined)
}
【问题讨论】:
-
是的。有点(虽然你错过了
return)。引擎可能会跳过未使用的 Promise 对象的创建。 -
谢谢!刚刚注意到缺少的回报并添加了它。
-
async/await是自 ES8 以来的原生 JavaScript。 -
我想更好的表达方式是如何将 async/await 写为 Promise?
标签: javascript promise async-await