Рубрики
Без рубрики

JavaScript async уменьшается

Array.reduce – довольно мощная функция Но я хотел поделиться техникой, которую я нашел полезной … Tagged с JavaScript, TypeScript.

Array.reduce Это довольно мощная функция, но я хотел поделиться техникой, которую я нашел полезным, серийным выполнением Асинхронизация функции.

const asyncs = [asyncFn, asyncFn1, asyncFn2, ...];

//Simple execution with no results
await asyncs.reduce((promise, asyncFn) => promise.then(asyncFn),
  Promise.resolve());

//Save results to an array
const asyncResults = await asyncs.reduce((promise, asyncFn) => 
  promise.then(results =>
    asyncFn()
      .then(newResult => [...results, newResult])), 
  Promise.resolve([]));

Надеюсь, вы нашли это полезным. Если у вас есть какие -либо другие варианты использования, пожалуйста, дайте мне знать, оставив комментарий.

Оригинал: “https://dev.to/rikbrowning/async-reduce-usage-2aa2”