小编SSS*_*SSS的帖子

异步加载js但同步执行

场景是我有很多js文件.根据不同的平台调用不同的文件.所以我有一个问题,因为我想异步加载文件.但是这些文件的执行应该同步完成.目前我正在做这个函数调用

  function loadScriptJs(src) {   
     Console.log(' Call to file '+src);
     var file = document.createElement('script'),
            head = document.getElementsByTagName('head')[0];
    file.type = 'text/javascript';
    file.setAttribute("defer","defer");
    file.setAttribute("src",src);
    head.appendChild(file);
        file.onload = function() {            
              console.log(src + " is loaded.");
        };
  }
Run Code Online (Sandbox Code Playgroud)

现在我有一个数组,其中包含一个被调用的js文件列表.我遍历数组并为每个src调用此函数.我在每个js文件中都使用了document.ready函数.在这里,我检查了文件的依赖关系,并对序列进行了优化.即依赖文件稍后加载(稍后在数组中加载),更早的Parent文件会更早出现.

示例: - 如果我有文件A1,B2,C3,D4,E5 .....就像明智一样.我的数组是['js/A1.js','js/B2.js','js/C3.js'...].当我通过循环运行它.我得到'调用文件[文件名]'的控制台与数组中的控制台相同,但是'[文件名]加载的控制台没有达到预期的顺序.

是的我无法通过互联网控制加载.但我希望执行是同步的.即在最后一个文件完成加载时开始执行所有文件.

任何人都可以为我提供任何建议,建议或想法.

html javascript jquery html5

6
推荐指数
1
解决办法
612
查看次数

标签 统计

html ×1

html5 ×1

javascript ×1

jquery ×1