0

次のことを考慮してください。

ajax呼び出しとjsonを使用して、5つの別々のスレッドを使用して5つの画像を取得します。画像検索呼び出しのそれぞれが戻ると、結果がビューに表示されます。

これはすべてローカルで行われ、jqueryajaxメソッドを使用してjsonファイルからこれらの画像を取得することを計画していました。

これらの画像を取得するために「5つの別々のスレッドを使用する」ことの意味を理解する必要があります。それは私のajax呼び出しにどのように影響しますか?コードはどのように見えるでしょうか?別のスレッドは別のajax呼び出しを示していますか?

助けてくれてありがとう。

4

1 に答える 1

2

ブラウザ環境の JavaScript は、DOM ツリーにアクセスできない WebWorker を介したスレッドのみをサポートします。

他のすべての種類の同時実行は、イベント ベースのモデルによって「エミュレート」されます。WebWorker から XMLHttpRequest を起動することは実際には意味がないので、できることは、個別の非同期AJAX 呼び出しを行い、対応するイベント ハンドラーでエンコードされた画像データを処理することだけです (ただし、JSON ファイルで画像データをエンコードしても、よほど特別なアプリケーションがない限り、私には非常に理にかなっていますが、それが私があなたの質問を理解した方法です)。

編集:これを実現する方法の簡単な例であり、画像パスのみを取得し、それらを ID "img0"-"img4" の画像タグに割り当てることを考慮すると、jQuery を使用して次のように記述できます。

for (var i = 0; i < 5; i++) {
    jQuery.ajax(
        {
            'async': true,
            'url': 'imagePath.json?idx=' + i,
            'context': {'idx': i}
        })
    .done(function (data) {
        $("#img" + this.idx).attr('src', data.path);
    });
}
于 2013-03-19T20:25:44.687 に答える