【问题标题】:Top level await not working with ESM in Node.js顶级等待不在 Node.js 中使用 ESM
【发布时间】:2023-03-05 17:40:01
【问题描述】:

我正在使用this benchmark,但是在运行src/bench.js 时,Node 会抛出此错误:

      let result = await run_bench(path, config);
                   ^^^^^

SyntaxError: Unexpected reserved word
    at Loader.moduleStrategy (internal/modules/esm/translators.js:88:18)
    at async link (internal/modules/esm/module_job.js:41:21)

顶级等待应该在 ESM 模块中工作,package.json 肯定有"type": "module"。我也试过使用mjs,但还是不行。

这不是我的代码,所以我不确定如何开始修复它。

我正在使用 Node.js v14.4.0。

【问题讨论】:

    标签: javascript node.js async-await


    【解决方案1】:

    在 Node.js 14.8.0 中支持顶级等待(不传递命令行参数以将其作为实验性功能启用)是 introduced

    您使用的 Node.js 版本太旧。

    【讨论】:

    • 其实我找到了:它是--harmony-top-level-await。您可能希望将其添加到答案中
    猜你喜欢
    • 2020-04-22
    • 2021-09-21
    • 1970-01-01
    • 2022-09-28
    • 2021-03-09
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多