ホームページ >ウェブフロントエンド >jsチュートリアル >javascript_javascript スキルのコールバック関数を使用した非同期スクリプト読み込みメソッドの分析例

javascript_javascript スキルのコールバック関数を使用した非同期スクリプト読み込みメソッドの分析例

WBOY
WBOYオリジナル
2016-05-16 15:51:521068ブラウズ

この記事の例では、JavaScript のコールバック関数を使用した非同期スクリプト読み込みメソッドについて説明します。皆さんの参考に共有してください。具体的な実装方法は以下の通りです。

var Loader = function () { }
Loader.prototype = {
  require: function (scripts, callback) {
    this.loadCount   = 0;
    this.totalRequired = scripts.length;
    this.callback    = callback;
    for (var i = 0; i < scripts.length; i++) {
      this.writeScript(scripts[i]);
    }
  },
  loaded: function (evt) {
    this.loadCount++;
    if (this.loadCount == this.totalRequired && typeof this.callback == 'function') this.callback.call();
  },
  writeScript: function (src) {
    var self = this;
    var s = document.createElement('script');
    s.type = "text/javascript";
    s.async = true;
    s.src = src;
    s.addEventListener('load', function (e) { self.loaded(e); }, false);
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(s);
  }
}

使用デモ

var l = new Loader();
l.require([
  "example-script-1.js",
  "example-script-2.js"],
  function() {
    // Callback
    console.log('All Scripts Loaded');
  });

この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。