gpt4 book ai didi

javascript - $q.all -- 解决某些请求的 http 请求错误,但不解决其他请求

转载 作者:行者123 更新时间:2023-11-30 09:42:16 25 4
gpt4 key购买 nike

我有一些看起来像这样的代码

angular.forEach(config.tvshows.shows, function(show) {
promises.push($http.get('http://epguides.frecar.no/show/' + show.replace(/\s|\./g, '') + '/next/'));
});

return $q.all(promises).then(function(response) {
for (var i = 0; i < response.length; i++) {
service.shows.push(response[i]);
}
});
};

我的想法是我有一个由 http 请求组成的列表( promise )。大多数是成功的,但有些可能会失败。我不能简单地删除失败的请求,因为它们有时会成功,有时会失败。

但是,如果其中一个响应失败,我不会收到任何推送到“service.shows”的响应。有没有办法处理 404 或 http 请求上的任何错误响应,以便对于工作请求,代码可以正常运行?

最佳答案

您可以将自定义处理程序添加到失败的 http 请求中,如下所示:

angular.forEach(config.tvshows.shows, function(show) {
promises.push($http.get('http://epg\./g, ') + '/next/').catch(function() {
// return whatever is needed here
}));

});

这样,如果响应失败,您可以返回您的 jar 头响应并且 $q.all 链不会停止。如果响应没有失败,您将收到服务器发送的响应。

关于javascript - $q.all -- 解决某些请求的 http 请求错误,但不解决其他请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40583795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com