在每秒 10 次调用限制的情况下一次发出 50 个 API 请求的有效方法是什么(烂番茄 API)?



>我有一个应用程序,它必须在循环中进行 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);
    }
});

这取决于您要做什么。如果结果是直接(行)进入您正在渲染的用户网页(并且没有可以执行的批量调用而不是单个调用),那么您几乎无能为力(您至少需要 5 秒来呈现该页面)。

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

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

最新更新