我很困惑,因为我读到ESM支持顶级等待,但当我在html文件中尝试时,它不起作用?
如果我被发现,那就是说:顶级等待不适用于节点14.13-"顶层等待仅适用于ESM模块";
在ESM中支持顶级等待吗?如果我可以如何使用它。
document.getElementById('foo').innerHTML = 'hello1';
await pause(2000); // is this possible if so how
document.getElementById('foo').innerHTML = 'hello2';
是的,ESM-ES6模块支持它。在纯脚本标记中不支持。
<script>
await Promise.resolve();
</script>
您需要指定脚本是一个模块才能使其工作。
<script type="module">
await Promise.resolve();
console.log('finished successfully');
</script>
(还要确保您在受支持的环境中运行此程序-较旧的环境可能不支持顶级等待(