我正在按角度顺序执行多个ajax调用。我想实现的工作与$.ajax
工作正常,但是当我使用角度实现时,我正在使用$http
作为服务器请求,它不起作用。我想知道,这两个都返回承诺对象,然后为什么它不能正常工作。在基于数组角色的角度上承诺多个ajax请求
使用$就
shoppingList.split(",").reduce(function(resultPromise, shoppingItem) {
return resultPromise.then(function(result) {
pro = $.ajax('/items/'+shoppingItem);
return pro.then(function(res) {
console.log(result);
result.push(new Item(res.label,res.price));
return result;
});
});
}, $.when([])).then(completeCallback);
见工作小提琴 - JSFiddle
采用了棱角分明的$ HTTP
function fetchDataDayWise(dateRanges,completeCallback) {
return dateRanges.reduce(function(resultPromise, dt) {
return resultPromise.then(function(resultData) {
machinePromise = getData();
return machinePromise.then(function(data) {
if(data && data.length > 0)
{
resultData = resultData.concat(data);
}
console.log(resultData);
return resultData;
});
});
}, $.when([])).then(completeCallback);
}
var dateRanges = [1,2,3,4]
function setData(data) {
console.log("data",arguments);
}
fetchDataDayWise(dateRanges,setData);
您可以在控制台中看到。在JSFiddle中,您将在Angular plunkr中获取数组项,并返回对象。我猜这是诺言对象。
任何帮助,将不胜感激。
始终在SO上发布相关代码。这不是来自有经验的用户的期望。 – Satpal
@Satpal对不起,我只是稍微修改了一下。 –
同意以上 - 我看到这越来越多,并忽略越来越多的问题... –