Выполнение промисов последовательно

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии мы изучим, как последовательно выполнять массив промисов с использованием JavaScript. Мы будем использовать метод Array.prototype.reduce(), чтобы создать цепочку промисов, где каждый промис возвращает следующий промис при успешном завершении. В конце этого практического занятия вы будете лучше понимать, как последовательно выполнять промисы, повышая свои навыки программирования на новый уровень.

Выполнение промисов последовательно

Для последовательного выполнения массива промисов используйте Array.prototype.reduce(), чтобы создать цепочку промисов. Каждый промис возвращает следующий промис после успешного завершения.

Для начала откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.

Вот пример кода:

const runPromisesInSeries = (ps) =>
  ps.reduce((p, next) => p.then(next), Promise.resolve());

Затем вы можете использовать функцию runPromisesInSeries для последовательного выполнения промисов, как показано в следующем примере:

const delay = (d) => new Promise((r) => setTimeout(r, d));
runPromisesInSeries([() => delay(1000), () => delay(2000)]);
// Этот код последовательно выполняет каждый промис и занимает в сумме 3 секунды на выполнение.

Резюме

Поздравляем! Вы завершили практическое занятие "Выполнение промисов последовательно". Вы можете практиковаться в других лабораторных работах в LabEx, чтобы улучшить свои навыки.