asyn c функции в Javascript - PullRequest
       3

asyn c функции в Javascript

0 голосов
/ 17 апреля 2020

У меня есть функция ниже внутри функции asyn c.

await saveStock(stock).then((res) => {
 addDrugToStock(stockDrug)
  addSupplierToStock(stockSupplier)

});

Когда я запускаю это, всегда функция saveStock дает соответствующие результаты. но две другие функции не выполняются должным образом. Иногда addDrugToStock работает. В другое время adSupplierToStock работает. Как запустить одновременно addDrugToStock и addSupplierToStock.

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

При использовании asyn c / ожидайте операторов, вам не нужно реализовывать обработчики .then() или .catch(), просто пишите код синхронно. В противном случае вы можете использовать Promise.all для обработки нескольких независимых Обещаний.

try {
   // Equal to .then() in regular Promises

   const response = await saveStock(stock);

   addDrugToStock(stockDrug);
   addSupplierToStock(stockSupplier);
} catch (e) {
   // Equal to .catch() in regular Promises
}
1 голос
/ 17 апреля 2020

Если вы хотите выполнить оба объекта Promise и ждать их обоих, вам нужно использовать Promise.all: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

...