$q.all
을 사용하고 두 약속을 모두 입력으로 추가 할 수 있습니다. 그리고 $q
을 주사해야합니다.
var clientsPromise = Restangular.all('clients').getList().then(function(clients) {
$scope.clients = clients;
});
var suppliersPromise = Restangular.all('suppliers').getList().then(function(suppliers) {
$scope.suppliers = suppliers;
});
$q.all([clientsPromise, suppliersPromise])
.then(function(results){ //This will execute only when both the promises have been fulfilled
//Do something;
});
더 가독성을 위해 당신은 잘 할 수 있습니다 : -
function populateClients(){
return Restangular.all('clients').getList().then(function(clients) {
$scope.clients = clients;
});
}
function populateSuppliers(){
return Restangular.all('suppliers').getList().then(function(suppliers) {
$scope.suppliers = suppliers;
});
}
$q.all([populateClients(), populateSuppliers()]).then(doSomethingFn, handleError);
모두 약속이 해결 될 때 그들 중 하나가
catch
로 이동합니다 실패하면 q.all의
성공 콜백 만 실행됩니다 모든 것이 완료되면 실행되는 finally
을 사용할 수 있습니다.
출처
2015-01-02 16:27:44
PSL
감사합니다. Pramod! 도움이 된 –