1
我有一些代碼,看起來像這樣
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請求(許諾) 。大多數都是成功的,但有些可能會失敗。我不能簡單地刪除失敗的請求,因爲他們有時可能會成功,並且會失敗。
但是,如果迴應的一個失敗,我沒有得到任何答覆推到「service.shows」。有沒有一種方法來處理404,或使該工作要求的代碼正常運行的HTTP請求的任何錯誤響應?
你確定這個工程?我得到以下錯誤:'angular.js:13920 TypeError:promises.push(...)。catch不是函數' – glcohen
您需要將'catch'添加到'get'函數,而不是'push' - 像這樣'$ http.get()。catch' –
謝謝,這工作。我現在可以記錄一個錯誤,但似乎404 HTTP請求仍然被推送到'承諾'。有沒有辦法解決這個問題? – glcohen