【发布时间】:2020-04-22 10:39:12
【问题描述】:
Node.js(2020 年 1 月,Node.js 13.5.0)仍然不支持顶级 await?
我尝试了一些教程,例如this one,但仍然没有运气,总是遇到同样的错误:
D:\NodeJS>node --experimental-modules test.js
(node:17724) ExperimentalWarning: The ESM module loader is experimental.
file:///D:/NodeJS/test.js:9
await test();
^^^^^
SyntaxError: Unexpected reserved word
整个文件内容:
function test() {
}
await test();
我尝试在package.json 中使用"type": "module",并将文件重命名为test.mjs,但仍然出现同样的错误,即使使用最新的Node.js 13.5.0
我做错了什么?
【问题讨论】:
-
顶级 await 仍然是第 3 阶段的提案,是什么让您认为它是 node 中的实验性功能?
-
你指的文章只讲ES模块,不讲顶级await
-
那篇文章描述了启用 ES 模块,这在规范中已经有一段时间了,而不是顶级 await 仍然是一个提议
-
@Klaycon 正如我解释的那样,我确实尝试将文件重命名为
*.mjs,并将type设置为module,但没有任何效果。这些东西应该把脚本变成 ES 模块。 -
那为什么你的问题是关于顶级等待?我认为您混淆了 2 个不同的主题。
标签: node.js async-await