Обратный вызов после выполнения двух асинхронных функций - PullRequest
0 голосов
/ 01 мая 2018

Я хотел бы вызвать функцию [addUp ()] после завершения двух других асинхронных функций (updateDocument1 & 2). Кажется, что обратный вызов после двух асинхронных функций не работает для меня ....

/*Two asynchronous functions are now called, they both update the
the same document*/

updateDocument1();
updateDoucment2();


/* after this has been completed, I would like to call the final function
which adds two keys together of the updated document*/

addUp();

Я очень благодарен за любые предоставленные вами советы / ссылки / решения. Заранее большое спасибо.

1 Ответ

0 голосов
/ 01 мая 2018

Вы должны использовать обещания для этого, MDN документы:

var promise1 = Promise.resolve(3);
var promise2 = 42;
var promise3 = new Promise(function(resolve, reject) {
  setTimeout(resolve, 100, 'foo');
});

Promise.all([promise1, promise2, promise3]).then(function(values) {
  console.log(values);
});
// expected output: Array [3, 42, "foo"]

вы также можете выполнять асинхронное / ожидание, но оно все равно будет основано на обещаниях.

async function updateDocument1() { 
  //logic;
}
async function updateDocument2() {
  //logic;
}
await updateDocument1();
await updateDocument2();
addUp();

или

await Promise.all([updateDocument1(), updateDocument2()]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...