i trying multiple $http call , code looks this:
var data = ["data1","data2","data3"..."data10"]; for(var i=0;i<data.length;i++){ $http.get("http://example.com/"+data[i]).success(function(data){ console.log("success"); }).error(function(){ console.log("error"); }); } how can have promise know $http call successfull? if of fail, perform action.
you use $q.all() method.
so, code:
var data = ["data1","data2","data3"..."data10"]; for(var i=0;i<data.length;i++){ $http.get("http://example.com/"+data[i]).success(function(data){ console.log("success"); }).error(function(){ console.log("error"); }); } you do:
var promises = []; data.foreach(function(d) { promises.push($http.get('/example.com/' + d)) }); $q.all(promises).then(function(results){ results.foreach(function(data,status,headers,config){ console.log(data,status,headers,config); }) }), this above means perform whole requests , set behaviour when have got completed.
on previous comment:
using status know if have gone wrong. set different config each request if needed (maybe timeouts, example).
if of fail, perform action.
$q.all(successcallback, errorcallback, notifycallback);
Comments
Post a Comment