1
我有我必须在我的客户端API上进行的以下循环。在循环的每次迭代中,我必须将从API调用返回的数据作为对象添加到对象数组中,然后在循环结尾我需要显示对象数组的内容。
由于JS代码执行的性质(asynchronous
)显示对象数组内容始终返回未定义,所以我想知道是否有人可以请帮我解决这个问题。谢谢。
var invoiceObj = {};
var invoiceObjArray = [];
for (var i=0; i< 5; i++)
{
//getAllInvoices returns a promise from $http.GET calls...
ClientInvoiceService.getAllInvoices(i).then(function(invoice){
invoiceObj = { invoiceNum: invoice.Result[0].id,
clientName: invoice.Result[0].clientName};
invoiceObjArray.push(invoiceObj);
}, function(status){
console.log(status);
});
}
console.log(invoiceObjArray[0]); //return undefined
console.log(invoiceObjArray[1]); //return undefined
非常感谢,$ q.all立即解决的问题:) – MChan
大,很高兴有帮助! – thomaux