javascript - Angular promise on multiple $http -


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.

from docs based on a+ specs:

$q.all(successcallback, errorcallback, notifycallback); 

Comments