当每秒限制10次调用时,什么是有效的方法来制作50个API请求(烂番茄API)?

时间:2012-04-11 02:37:57

标签: javascript ajax rotten-tomatoes

我有一个应用程序,它必须在循环中进行50到100个API调用。烂番茄每秒限制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);
    }
});

1 个答案:

答案 0 :(得分:0)

这取决于你想要做什么。如果结果直接(在线)进入您正在渲染的用户网页(并且没有可以进行的批量调用而不是单独的调用)那么您可以做的很少(您将至少花5秒钟)渲染那个页面)。

如果您经常重复使用相同的内容,那么如果服务提供商的条款允许,则可能值得在短时间内缓存呼叫结果,以避免不得不一次又一次地拨打所有呼叫。

同意上述观点 - 如果您直接渲染到具有多个用户的网页,您将遭受严重影响 - 最好考虑一个简短的缓存策略。