Angularjs: $ q.defer и асинхронные вызовы

0

Я вызываю $ resource в цикле.
Я хочу вызвать другой $ ресурс, как только все вызовы в цикле будут выполнены.

Я искал и нашел около $ q.defer, но я не знаю, как применить его к моему примеру:

for (var i=0; i<$scope.fraiss.length; i++){
   var frais = {};
   //copy some properties values of $scope.fraiss[i] in frais then persist frais
   FraisVente.save(frais)
}
MyNextService.query();

Если кто-нибудь может мне помочь в этом...

благодаря

Теги:

1 ответ

1
Лучший ответ

Вы хотите использовать $q.all()

Из угловых документов:

all(promises);
Объединяет несколько обещаний в единое обещание, которое разрешается, когда все вступительные обещания разрешаются.

var promises = [];

for (var i=0; i<$scope.fraiss.length; i++){
 var frais = {};
 //copy some properties values of $scope.fraiss[i] in frais then persist frais
 promises.push(FraisVente.save(frais));
}

$q.all(promises).then(function() {
  MyNextService.query();
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню