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 关键字,不需要使用这个立即执行函数


back home