update promises

This commit is contained in:
2025-03-05 16:17:27 +03:00
parent 8b08f95ce0
commit b4f0c9b803
12 changed files with 346 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
---
sidebar_position: 4
---
# Promise API
Источник:
В классе Promise есть 6 статических методов.
- **Promise.all(promises)** ожидает выполнения всех промисов и возвращает массив с результатами. Если любой из указанных промисов вернёт ошибку, то результатом работы Promise.all будет эта ошибка, результаты остальных промисов будут игнорироваться.
- **Promise.allSettled(promises)** (добавлен недавно) ждёт, пока все промисы завершатся и возвращает их результаты в виде массива с объектами, у каждого объекта два свойства:
- status: "fulfilled", если выполнен успешно или "rejected", если ошибка,
- value результат, если успешно или reason ошибка, если нет.
- **Promise.race(promises)** ожидает первый выполненный промис, который становится его результатом, остальные игнорируются.
- **Promise.any(promises)** (добавлен недавно) ожидает первый успешно выполненный промис, который становится его результатом, остальные игнорируются. Если все переданные промисы отклонены, AggregateError становится ошибкой `Promise.any`.
- **Promise.resolve(value)** возвращает успешно выполнившийся промис с результатом value.
- **Promise.reject(error)** возвращает промис с ошибкой error.
Из всех перечисленных методов, самый часто используемый **Promise.all**.