Я в настоящее время изучаю Javascript и AngularJS в определенной и есть одна вещь, которую я не могу понять, как это сделать. Как вы увидите дальше, я также пытаюсь переключить свое мнение с «последовательного» мышления.
Я хочу сделать два запроса $http.post()
, и когда они оба выполнены успешно, выполните функцию. Мне удалось сделать его работу по вложенности запросов так:Когда оба выполняемых http-запроса выполняют функцию
$http.post(url, {something}).success(function (response) {
$http.post(url, {something}).success(function (secondResponse) {
myFunction();
});
});
Это работает, но это вложенное, не асинхронные и вообще хромает. Интересно, если это возможно, чтобы сделать эти запросы, как, что (я знаю, что следующий код не будет работать должным образом):
$http.post(url, {something}).success(function (response) { someKindOfFlag = true });
$http.post(url, {something}).success(function (response) { anotherKindOfFlag = true });
if (someKindOfFlag && anotherKindOfFlag) { myFunction(); }
Я слышал термин обещания в _JS_, но никогда не получил его как как хотелось. Спасибо, ваше решение работает точно так, как я хочу, и я обещаю, что буду изучать обещания больше :) –
@the_lay приветствуем вас. В то время, когда я получил «обещания», я был поражен. Надеюсь, это тоже самое для вас :). – ganaraj