Files
frontend-docs/docs/javascript/08-promises/04-promise-api.md
2025-03-05 16:17:27 +03:00

18 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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**.