【问题标题】:Top level await not working in ECMAScript [duplicate]顶级等待在 ECMAScript 中不起作用 [重复]
【发布时间】:2022-03-30 23:47:26
【问题描述】:

我很困惑,因为我读到 ESM 支持顶级等待,但是当我在 html 文件中尝试它时它不起作用?

如果我发现这是说: Top-level await does not work with node 14.13.- “顶级等待仅适用于 ESM 模块”

ESM 是否支持顶级 await 以及如何使用它。

document.getElementById('foo').innerHTML = 'hello1';
await pause(2000); // is this possible if so how
document.getElementById('foo').innerHTML = 'hello2';

【问题讨论】:

    标签: javascript async-await es6-modules top-level-await


    【解决方案1】:

    是的,它在 ESM - ES6 模块中受支持。在纯脚本标签中支持。

    <script>
    await Promise.resolve();
    </script>

    您需要指定脚本是一个模块才能工作。

    <script type="module">
    await Promise.resolve();
    console.log('finished successfully');
    </script>

    (还要确保您在受支持的环境中运行它 - 旧环境可能不支持顶级等待)

    【讨论】:

      猜你喜欢
      • 2020-04-22
      • 2016-12-05
      • 2023-03-05
      • 2018-07-15
      • 2022-09-28
      • 2021-03-09
      • 2021-09-21
      • 2019-12-19
      相关资源
      最近更新 更多