0

ループ内で 50 ~ 100 回の API 呼び出しを行う必要があるアプリケーションがあります。Rotten Tomatoes には、1 秒あたり 10 回の呼び出しの制限があります。この結果、リクエストが途中で失敗し、毎回異なる結果が得られます。毎秒 10 リクエストの制限を超えずに、これらの 50 リクエストを行う効果的な方法は何ですか? これが私のコードです:

$.each(elem, function (index, item) {

    var $placeholder = $('<div>').appendTo("div.content");

    $.ajax({
        type: 'post' ,
        url: moviesSearchUrl + '&q=' + encodeURI(item) + '&page_limit=1',
        dataType: "jsonp",
        async: false, 
        success: searchCallback
    });

    function searchCallback(data) {
        var movies = data.movies;

        var markup = index + ': '+   movies[0].title + '<img class=" bord" src="' + movies[0].posters.thumbnail + '" /><br/>';

        $placeholder.replaceWith(markup);
    }
});
4

1 に答える 1

0

それはあなたが何をしようとしているのかによります。結果がレンダリングしているユーザーのWebページに(一列に)まっすぐ進む場合(そして、個々の呼び出しの代わりに実行できる一括呼び出しがない場合)、実行できることはほとんどありません(最低5秒かかります)そのページをレンダリングします)。

同じコンテンツを頻繁に再利用する場合は、サービスプロバイダーの条件で許可されている場合は、すべての呼び出しを何度も繰り返す必要がないように、呼び出しの結果を短期間キャッシュする価値があります。

上記の点に同意します-複数のユーザーがいるWebページに直接レンダリングする場合は、ひどく苦しむことになります-短いキャッシュ戦略を考えてみてください。

于 2012-04-11T04:29:50.840 に答える