Мне нужно сделать 2 вызова AJAX. Второй зависит от первого результата вызова. Прямо сейчас я делаю это так:Угловые цепи AJAX звонки
Service.getA(car).then(function(carInfo) {
if (carInfo.success) {
Service.getB(carInfo.number).then(function(holderInfo) {
console.log(holderInfo);
});
}
});
Услуги:
getA: function(car) {
return Server.execute({
method: 'GET',
url: 'a/a',
params: {
car: car
},
}).then(function (carInfo) {
return carInfo;
});
},
getB
метод аналогичен - только другой URL и другие параметры. Я учусь угловато и хочу реализовать этот код с помощью обещаний и отступников (google предполагает, что код будет более красивым). Как я могу это сделать?
Вы уже есть, '.then' является метод обещание –
я хоть что-то вроде этого: https://www.jonathanfielding.com/combining-promises-angular/ Но я не понимаю, как параметры прохождения. – Bob
@Bob: вы не можете их объединить, потому что для второго вызова требуется переменная, возвращаемая с первого вызова. '$ q.all ...' одновременно вызывает оба вызова, поэтому вы не можете передавать какие-либо данные ко второму. В принципе, способ, которым вы это делаете, - это путь. – Cerbrus