Uncaught SyntaxError: await is only valid in async function 的解决方案
原因:
await
关键字只能使用在异步函数内
解决方案:
1、在 async
函数内使用 await
语法
async function start() {
return await getData();
}
2、如果在顶级模块,使用一个立即执行的 async
匿名函数包裹 await
语句
(async() => {
await getData();
})();
注:方案2 仅在 Node.js 中有效;在 Chrome 浏览器上(当前测试v99.0),错误信息会是这样: "await is only valid in async functions and the top level bodies of modulesawait is only valid in async functions and the top level bodies of modules"
,所以,主模块能直接使用 await
关键字,不需要使用这个立即执行函数。
版权声明:[自由转载-注明出处-非商用-非衍生] (知识共享许可协议)