Дождитесь окончания запроса, прежде чем делать другой в angularjs - PullRequest
0 голосов
/ 19 февраля 2019
    A.Add1()
        .success(function (response) {
            alert("add1");
        }).
        error(function (response) {
            alert("error in add1");
        });



    A.Add2()
        .success(function (response) {
            alert("add2");
        }).
        error(function (response) {
            alert("error in add2");
        });

Мне нужно сделать два запроса один за другим.Но иногда второй делается перед первым.Как я могу предотвратить это в angularjs?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Для упрощения, вы можете выполнить A.Add2() внутри функции успеха A.Add1().

Пример, как показано ниже:

    A.Add1()
        .success(function (response) {
            alert("add1");

            A.Add2()
            .success(function (response) {
                alert("add2");
            }).
            error(function (response) {
                alert("error in add2");
            });
        }).
        error(function (response) {
            alert("error in add1");
        });
0 голосов
/ 19 февраля 2019

Попробуйте

   A.Add1()
    .success(function (response) {
        alert("add1");
        A.Add2().success(function (response) {
            alert("add2");
          }).
           error(function (response) {
            alert("error in add2");
           });
      }).
    error(function (response) {
        alert("error in add1");
    });

Вложенное обещание

PS: .success устарело.Предпочитаю .then().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...