【发布时间】:2016-12-14 19:32:51
【问题描述】:
我在使用 async/await 并从 Promise 返回一个值时遇到了一些困难。
function test () {
return new Promise((resolve, reject) => {
resolve('Hello')
})
}
async function c() {
await test()
}
据我了解,我应该能够通过以下方式获得价值:
console.log(c())
但显然我在这里遗漏了一点,因为这会返回一个承诺。它不应该打印“你好”吗?在类似的注释中,我不清楚在将回调包装到 async/await 之前是否需要将其转换为 Promise?
【问题讨论】:
-
嗯,不,async/await 不会神奇地使异步代码同步运行。异步函数之外的代码仍然需要等待异步函数完成。
标签: node.js promise async-await ecmascript-next