Обложка канала

Senior Frontend - javascript, html, css

20191 @seniorFront

Senior Front - канал для front-end программистов, здесь есть много всего про CSS3, Javascript, Html5, Angular, React, видео / статьи / курсы

Senior Frontend - javascript, html, css

4 года назад
Открыть в
Promise.allSettled() Метод allSettled() — это один из статических методов объекта Promise. Его используют, когда нужно запустить несколько промисов параллельно и дождаться их выполнения. Promise.allSettled() очень похож на метод Promise.all(), но работает немного по-другому. В отличие от Promise.all(), Promise.allSettled() ждёт выполнения всех промисов, при этом неважно, завершились они успешно или с ошибкой. Создадим массив промисов и передадим его в Promise.allSettled(). Один из созданных промисов завершится ошибкой: const promises = [ new Promise(resolve => setTimeout(() => resolve(1), 3000)), new Promise((resolve, reject) => setTimeout(() => reject('error'), 2000)), new Promise(resolve => setTimeout(() => resolve(3), 1000)) ] Promise.allSettled(promises) .then(([response1, response2, response3]) => { console.log(response1) // { status: 'fulfilled', value: 3 } console.log(response2) // { status: 'rejected', reason: 'error' } console.log(response3) // { status: 'fulfilled', value: 1 } }) Если промис выполнился успешно, то на выходе получаем объект с двумя свойствами — status и value. status будет содержать строку 'fulfilled', а value — значение, которое передали при вызове resolve у промиса: { status: 'fulfilled', value: значение } Если промис выполнился с отказом, то на выходе получаем объект с двумя свойствами — status и reason. status будет содержать строку 'rejected', а reason — значение, которое передали при вызове reject у промиса: { status: 'rejected', reason: значение } 👉 @seniorFront