Использование $q.all
:
var promise1 = $http.post('Url1', {
param: @scope.myParam
}).then(function(response) {
return response.data;
});
var promise1 = $http.post('Url2', {
param: @scope.myParam
}).then(function (response) {
return response.data;
});
$q.all([promise1, promise2]).then([data1, data2] => {
$scope.myData = {...data1, ...data2}; //combine object
//OR
$scope.myData = [...data1, ...data2]; //combine array
});
Помните, что обещания ES6, возвращаемые Promise.all
, не интегрированы с платформой AngularJS. AngularJS изменяет обычный поток JavaScript, предоставляя собственный цикл обработки событий. Это разбивает JavaScript на классический и AngularJS контекст выполнения. Только операции, которые применяются в контексте выполнения AngularJS, выиграют от привязки данных AngularJS, обработки исключений, отслеживания свойств и т. Д.
Обещания, возвращаемые $q.all
, интегрированы с инфраструктурой AngularJS.
Для получения дополнительной информации см.