Я сталкиваюсь с некоторыми трудностями, пытаясь понять, почему $ q.all возвращает ответ последнего обещания в массиве для всех заданных обещаний:
function getGlobalData() {
$q.all(
[
genericApi.submitPostRequest(getPostData('firstKey')),
genericApi.submitPostRequest(getPostData('secondKey')),
genericApi.submitPostRequest(getPostData('specialKey'))
])
.then(function(results){
vm.globalObject['firstKey'] = results[0].data;
vm.globalObject['secondKey'] = results[1].data;
vm.globalObject['specialKey'] = results[2].data;
});
}
Конечные точки одинаковы, единственное, что я изменяю в каждом запросе, - это один элемент (ключевой элемент) в объекте 'postData'.
function submitPostRequest(data) {
return $http({
method: 'POST',
data: data,
url: 'https://someUrl',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer someToken'
}
});
}
postData:
var postRequest = {
'endtime' : null,
'key' : null,
'arr' : ['diff','core'],
'starttime' : null
};
getPostData:
function getPostData(key){
postRequest.key = key;
return postRequest;
}