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

问题描述 投票:0回答:2

让JavaScript变得异步,就像它们在这里一样简单吗? https://www.w3schools.com/tags/att_script_async.asp

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

<script src="/whatever.js">

我把它改成了这个:

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

这真的让它异步吗?这真的很容易吗?

javascript asynchronous
2个回答
2
投票

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

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

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


0
投票

这取决于你想要异步的东西。

该属性告诉浏览器执行脚本而不等待页面完全加载,从这个意义上说,使它成为异步就很容易了。

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

© www.soinside.com 2019 - 2024. All rights reserved.