我正在使用$ q.的所有内容来测试我的简单代码。$ 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();
});
您可以使用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
上。不等待其余部分。