这是如何使现有的JavaScript异步的吗?



让JavaScript异步像他们在这里做的那样简单吗?https://www.w3schools.com/tags/att_script_async.asp

例如,如果我的 HTML 中有这个:

<script src="/whatever.js">

我把它改成这样:

<script src="/whatever.js" async>

这真的使它异步吗?真的有那么容易吗?

不,async 属性不会使你的 JavaScript 代码异步。它仅指示浏览器异步加载脚本。

当你加载一个没有async的JS脚本时,HTML的解析将停止,等待脚本被下载、解析和执行。之后,它将恢复解析 HTML。这保证了如果按该顺序加载两个脚本:1.js2.js2.js将在 1.js 之后执行。

<script>标记上设置async属性时,表示脚本可以异步加载。实际上,这意味着您不能假设您的代码将按照在 HTML 中找到的顺序执行。下载文件后,它将像任何其他JS代码一样执行。

这取决于你想要异步的内容。

该属性告诉浏览器在不等待页面完全加载的情况下执行脚本,从这个意义上说,使其异步就是这么简单。

另一方面,如果您希望脚本执行某些内容(可能是对服务的调用(并在返回答案时更新页面,而不会在等待时阻止页面,那么您将不得不使用一些 AJAX。

最新更新