Rotten Tomatoes API の制限は 1 秒あたり 10 呼び出しです。全部で 50 回電話をかける必要があります。
それらをすべてまとめて行うと、多くの通話が拒否されます。
そのため、10 回の呼び出しごとに 1 秒のタイムアウトを与える必要があります。
これを実装するにはどうすればよいですか? これが私のコードです:
$.get("t250.txt", function (data) {
var elem = data.split("\n");
$.each(elem, function(index, item) {
var $placeholder = $('<div>').appendTo("div.content");
setTimeout(function() {
$.ajax({
type: 'post',
url: moviesSearchUrl + '&q=' + encodeURI(item) + '&page_limit=1',
dataType: "jsonp",
async: false,
success: searchCallback
});
}, 1000);
function searchCallback(data){});
}
}
問題はまだ解決していません。さらに、ページは 1 秒間読み込みを待ってから、すべてをまとめて読み込みます。setTimeout
for each ループ内に関数を指定しました。それによる影響はないようです。私は何を間違っていますか?