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