ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery で when を使用して、単一の callback_jquery に対応する複数の AJAX リクエストを実装する例の共有

jQuery で when を使用して、単一の callback_jquery に対応する複数の AJAX リクエストを実装する例の共有

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

これらの関数は非同期 (非同期) で実行され、遅延して返されることはわかっているので、JS ローダーのcurljs のように、単一のコールバックを使用してそれらを並列にロードできる方法があるかどうか知りたいです。そうします。 幸運なことに、jQuery.when を使用すると、2 つのリクエストを同時にロードでき、コールバックは 1 回だけ実行できます。

jQuery スクリプト

前述したように、スクリプトと JSON リソースをロードするユースケースは次のとおりです:

コードをコピー コードは次のとおりです:
$.when(
$.getScript('/media/js/wiki-min.js?build=21eb633'),
$ .getJSON(' https://developer.mozilla.org/en-US/demos/feeds/json/featured/')
).then(function(a, b) { // または、「」を使用することもできます.done"
// はい、読み込みが完了しました。ここで依存関係の操作をいくつか実行できます。
});

リソースの読み込みが完了すると、指定された Done または then コールバックがトリガーされるため、リクエストが完了したことがわかります。 各リクエストによって返されるコールバック パラメータ オブジェクトのタイプは異なるため、上記のリクエストは次の情報を返す場合があります:


コピー コードコードは次のとおりです:
// 形式: [response, state, jqxhr], [response, state, jqxhr]
["(function(c){var e=c(" .from-search-navigate" );if(e…;if(j){g.apply(m,l)}}}})(window,document,jQuery);", "success", Object]
[配列[15], "成功", オブジェクト]

ウィジェット テンプレートなどの従来の AJAX XHR リクエストを追加する必要がある場合は、次のようにすることができます:

コードをコピー コードは次のとおりです:
$.when(
$. getScript(' /media/js/wiki-min.js?build=21eb633')、
$.getJSON('https://developer.mozilla.org/en-US/demos/feeds/json/featured/ '),
$.get('/')
).then(function(a, b, c) {
console.log(a, b, c);
});

Dojo Toolkit には長い間この種の機能がありましたが、jQuery でもそれができることに非常に興奮しています。 現在の開発では、同期されておらず、返される順序が不確実な複数のリクエストが同じコールバックを共有することが当然の要件であるため、jQuery は確実に時代とともに進歩しています。

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