[英]Await for an async function
有没有办法等待异步功能? 诸如yield*
(带有星号)之类的东西将委托给另一个生成器函数。
例如:
asyncFunction1 = async () => {
await promise1;
await promise2;
}
asyncFunction2 = async () => {
await asyncFunction1(); // can we do that or it MUST be a promise?
}
将函数标记为async
使其隐式返回一个promise:
调用
async
函数时,它将返回Promise
。 当async
函数返回值时,Promise
将使用返回的值进行解析。 当async
函数抛出异常或某个值时,Promise
将被抛出的值拒绝。
( 来源 )
换句话说,即使该函数返回非Promise值,您也可以await
它(因为该值将被Promise自动包装):
async function test() {
return 123;
}
void async function() {
let value = await test();
console.log('value', value);
}();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.