ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery+deferred は JS ファイルの非同期シーケンシャルロードを実装します。

jQuery+deferred は JS ファイルの非同期シーケンシャルロードを実装します。

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-23 15:11:251109ブラウズ

今回は、JS ファイルの非同期シーケンシャル ロードを実装するための jQuery+deferred について説明します。JS ファイルの非同期シーケンシャル ロードを実装するために jQuery+deferred が実装する 注意事項 は何ですか。以下は実際的なケースです。 。

少し前に、Ruan Yifeng の記事「jQuery の deferred オブジェクトの詳細な説明」を読み、jQuery での deferred の使用法をある程度理解しました。今日、庭で記事を目にしました。JS フロントの再構築の失敗体験についてです。フレームワークの終了 (ところで、Dead コードが懐かしいです) なので、jQuery の遅延を使用して JS ファイルを順番に非同期にロードする以前に書いたソリューションを共有しました。修正は歓迎です。

jQuery の deferred をまだ理解していない場合は、Ruan Yifeng の記事「jQuery の deferred オブジェクトの詳細な説明」を読むことを強くお勧めします。

JS ファイルをロードするコードは次のとおりです:

/* 
Loading 
JavaScript
 Asynchronously 
loadScript.load(["a.js", "b.js"]); 
*/ 
var loadScript = (function() { 
var loadOne = function (url) { 
var dtd = $.Deferred(); 
var node = 
document
.createElement('script'); 
node.type = "text/javascript"; 
var onload = function(){ 
dtd.resolve(); 
}; 
$(node).load(onload).bind('readystatechange', function(){ 
if (node.readyState == 'loaded'){ 
onload(); 
} 
}); 
document.
getElementsByTagName
('head')[0].appendChild(node); 
node.src = url; 
return dtd.promise(); 
}; 
var load = function(urls) { 
if(!$.isArray(urls)) { 
return load([urls]); 
} 
var ret = []; 
for (var i = 0; i < urls.length; i++) { 
ret[i] = loadOne(urls[i]); 
}; 
return $.when.apply($, ret); 
} 
return { 
load: load 
}; 
})();

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

jquery+xml の 3 レベルのリンク手順の詳細な説明

jquery プラグイン ajaxupload を使用してファイルをアップロードする

以上がjQuery+deferred は JS ファイルの非同期シーケンシャルロードを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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