在JavaScript模块的顶层体中,不允许使用async/await关键字。如果需要使用async/await,可以将其封装在一个函数中,然后在顶层体中调用该函数。
例如,以下代码将抛出语法错误:
// example.js
async function foo() {
return Promise.resolve("Hello World");
}
console.log(await foo()); // SyntaxError: top-level async/await is not allowed
解决方法是将其封装在一个函数中:
// example.js
async function foo() {
return Promise.resolve("Hello World");
}
async function main() {
console.log(await foo());
}
main();
下一篇:Async/Await的任务取消