位置:首页 > 行业软件 > 谷歌浏览器控制台开启Top-Level Await支持

谷歌浏览器控制台开启Top-Level Await支持

时间:2026-06-06  |  作者:318050  |  阅读:0

写 JavaScript 的时候,习惯用 await 来异步拿结果。 但如果你在 Chrome 控制台里直接敲一句 await 表达式,大概率会收到那个让人头疼的报错——“Uncaught SyntaxError: await is only valid in async functions and the top level bodies of modules”

说白了,就是控制台的执行环境默认不是模块上下文,所以不支持顶层 await。 有没有办法绕过这个限制?当然有,而且不止一种。

谷歌浏览器控制台开启Top-Level Await支持_wishdown.com

一、启用实验性功能 flag

Chrome 控制台原生不支持顶层 await。但 Chrome 内部其实藏着一个实验性开关,打开之后就能让 DevTools 模拟模块环境,允许解析顶层 await。

操作起来很简单:

  • 在 Chrome 地址栏输入 chrome://flags/#enable-javascript-module-scripts-in-devtools-console 并回车。
  • 在搜索框里输入 javascript module scripts,找到对应的实验项。
  • 把状态从 Default 改为 Enabled
  • 点击右下角的 Relaunch 重启浏览器即可。
谷歌浏览器控制台开启Top-Level Await支持_wishdown.com

二、使用内联模块 script 标签绕过限制

如果不想动浏览器设置,或者版本太老不支持那个 flag,怎么办? 还有一招——动态生成一个