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

时间:2018-03-03 22:43:18

标签: javascript asynchronous

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

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

<script src="/whatever.js">

我将其更改为:

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

该属性告诉浏览器在不等待页面完全加载的情况下执行脚本,从这个意义上讲,使其异步就很容易了。

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