Основные виды промисов в Node.js:
Basic Promise: Представляет собой контейнер для будущих значений или ошибок. Имеет три состояния: pending (ожидание), fulfilled (выполнено успешно), rejected (отклонено с ошибкой). Создается с помощью конструктора new Promise().
javascript
Promise.resolve(): Создает промис, который немедленно переходит в состояние fulfilled с заданным значением.
javascript
Promise.reject(): Создает промис, который немедленно переходит в состояние rejected с заданной причиной ошибки.
javascript
Promise.all(): Принимает массив промисов и возвращает новый промис. Этот новый промис переходит в состояние fulfilled, когда все промисы в массиве успешно завершены. Значением будут массивы результатов в том же порядке, что и входные промисы. Если любой из промисов в массиве отклоняется, Promise.all() немедленно отклоняется с причиной первого отклоненного промиса.
javascript
Promise.allSettled(): Принимает массив промисов и возвращает новый промис. Этот новый промис переходит в состояние fulfilled, когда все промисы в массиве либо успешно завершены (fulfilled), либо отклонены (rejected). Значением будет массив объектов, описывающих результат каждого промиса (состояние и значение/причина). В отличие от Promise.all(), немедленно не отклоняется.
javascript
Promise.race(): Принимает массив промисов и возвращает новый промис. Этот новый промис переходит в состояние fulfilled или rejected с результатом/причиной первого промиса из массива, который либо успешно завершился, либо отклонился.
javascript
Promise.any(): Принимает массив промисов и возвращает новый промис. Этот новый промис переходит в состояние fulfilled с значением первого промиса из массива, который успешно завершился. Если все промисы в массиве отклоняются, Promise.any() возвращает ошибку AggregateError, содержащую причины всех отклоненных промисов. Доступен начиная с Node.js 12.
javascript