javascript - 如何在加载另一个脚本之前阻止脚本的执行?

标签 javascript asynchronous load

假设我从我的主机网页加载这些脚本:

<script src="http://www.mywebsite.com/widget/widget.js?type=normal" type="text/javascript"></script>
<script src="http://www.mywebsite.com/widget/widget.js?type=rotation" type="text/javascript"></script>

并且我只想在第一个完成时执行第二个(完全;它可以包含异步函数)。

我该怎么做?

最佳答案

您已经做对了:脚本按照页面中集成的顺序执行,而不是加载。

编辑:正如 MaxArt 所指出的,这可能不是您要查找的内容。他的回答很好。 但通常,您会希望使用 javascript 通常的模式和基于事件的逻辑来避免此类问题:

  • 让你的大部分文件只定义类和函数(其中一些将回调作为参数)
  • 有一个 main 文件启动它并调用 Action 序列,异步性通过回调处理。

我的主要代码通常(有点)像这样:

$(window).ready(function() {
    var myBigEngine = new BigEngine();
    myBigEngine.init(function(){
      // do other things, no need to add other layers as user events and ajax message callback will do the rest
    });
});

关于javascript - 如何在加载另一个脚本之前阻止脚本的执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10846084/

相关文章:

javascript - JS setTimeout 不会等待使用 Scratchpad

javascript - jQuery .load 和链接不再可点击?

ios - 仅在需要时加载图像

android - 你能测量在 Android 的 webView 中加载网页所需的时间吗?

javascript - 基于变量创建Javascript函数,其中更改变量不会更改函数

javascript - 如何获取元素上的 jQuery UI 属性以在页面加载后生成?

javascript - 我知道回调函数是异步运行的,但是为什么呢?

javascript - Angularjs 在数据准备好时进行评估

javascript - 删除点击元素所在的 Div

api - 使用 CFTHREAD 处理外部 HTTP 请求并返回异步响应