我正在使用$ q.all来测试我的简单代码。一些$ q如何花费很长时间来处理promise数组中的第二个并且我的后端服务器正在超时。当我在浏览器中看到“网络”选项卡时,getAccountStatementList给出了200状态,其中getInvoiceDetails在服务器超时之前显示为挂起状态。我该如何解决这个问题?
var promises = [$http.get('getAccountStatementList'), $http.get('getInvoiceDetails')];
$q.all(promises).then(function(values){
console.log("Values 0 "+values[0]); // value alpha
console.log("Values 1 "+values[1]); // value beta
complete();
});
答案 0 :(得分:1)
您可以使用catch
回调来捕获错误。
$q.all(promises).then(function(values){
console.log("Values 0 "+values[0]); // value alpha
console.log("Values 1 "+values[1]); // value beta
complete();
}).catch(function(error){
console.log(error)
})
即使一个承诺被拒绝,它的垮台也会立即降临catch
。不等待批次的其余部分。