<story><title>Top-level await in JavaScript is a footgun</title><url>https://gist.github.com/Rich-Harris/0b6f317657f5167663b493c722647221</url></story><parent_chain></parent_chain><comment><author>Noseshine</author><text>He posted a follow-up superseding (or extending) the submitted post:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    &amp;gt; A lot of people misunderstood Top-level await is a footgun, including me.
&lt;/code&gt;&lt;/pre&gt;
&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;gist.github.com&amp;#x2F;Rich-Harris&amp;#x2F;41e8ccc755ea232a5e7b88dee118bcf5&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;gist.github.com&amp;#x2F;Rich-Harris&amp;#x2F;41e8ccc755ea232a5e7b88de...&lt;/a&gt;</text></comment>
<story><title>Top-level await in JavaScript is a footgun</title><url>https://gist.github.com/Rich-Harris/0b6f317657f5167663b493c722647221</url></story><parent_chain></parent_chain><comment><author>thomasfoster96</author><text>I know that the argument that &amp;quot;silly developers shouldn&amp;#x27;t be allowed to do silly things&amp;quot; is a valid one, but I don&amp;#x27;t see a convincing argument that top level await is worse than what developers are currently doing, which is use synchronous functions to do IO at the top level.&lt;p&gt;If anything, top level async would be an improvement, as it would give developers no reason to do synchronous IO.&lt;p&gt;Edit: Additionally, ES6 modules are already imperative. There isn&amp;#x27;t any way to make them declarative.</text></comment>