【发布时间】:2017-05-03 12:31:45
【问题描述】:
我正在使用下面的 $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();
});
【问题讨论】:
-
这听起来像是后端服务器的问题,因为它永远不会完成第二个请求。看来您应该检查客户端的请求是否正确形成,如果是,则检查服务器代码以查看为什么它没有完成第二个请求。
-
如果我同时在浏览器中直接运行第二个请求,我能够获取结果。
-
另外,我交换了我的 promises 数组,现在我得到了 getInvoiceDetails 的 200 状态,而 getAccountStatementList 显示待处理