Как выполнить функцию полностью, а затем двигаться вперед AngularJS - PullRequest
0 голосов
/ 04 марта 2020

Мне нужен способ полностью выполнить функцию и затем двигаться вперед для выполнения любых необходимых операций.

var responseOutput = [];
function myFunction(){
    //DO SOMETHING
    Service.callDownStreamService()
    .then (function (response) {
       responseOutput.push(response.object);
    }).catch (function (error) {
       //DO SOMETHING
    });

    //DO SOMETHING
}

Мне нужно выполнить мой Service.callDownStreamService отдельно и только после его выполнения мне нужно переместиться дальше. Я не могу синхронизировать его полностью, и responseObject приводит к неправильному формату данных. Пожалуйста, помогите мне в этом.

1 Ответ

0 голосов
/ 04 марта 2020

Вы можете обернуть свой асин c вызов метода вокруг Promise следующим образом:

var responseOutput = [];

function myFunction() {
  //DO A THING
  const promise = new Promise(function(resolve, reject) {
    Service.callDownStreamService()
      .then(function(response) {
        responseOutput.push(response.object);
        resolve(); //DO ANOTHER THING ON SUCCESS
      })
      .catch(function(error) {
        reject(); //DO A THING WHEN FAILED
      });
  });

  promise.then(function() {
      //DO ANOTHER THING ON SUCCESS
    })
    .catch(function() {
      //DO A THING WHEN FAILED
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...