我对async/await
的理解非常简单:如果您的await
函数返回一个Promise,它们将返回传递给resolve
回调的值。包含await
关键字的函数必须标记为async
。如果那不是真的,那就是我的理解有误的地方。
我是超级不可观察者,或者以下行为证明我的理解是错误的:
async function mySynchroniser(promise) {
return await promise;
}
const stuff = mySynchroniser(new Promise(function (resolve) {
resolve('stuff');
}));
console.log(stuff);
我希望输出为stuff
,但实际输出为Promise {<pending>}
。当我在控制台日志中展开Promise时,它已解析为值“ stuff”,这应该不会让任何人感到惊讶。
请帮助我发现我的理解或观察技巧上的缺陷。