Обещание.все()
const promise1 = Promise.resolve(1); const promise2 = 2; const promise3 = Promise.resolve(3); Promise.all([promise1, promise2, promise3]) .then((values) => console.log('Promise.all() Success', values)) //[1, 2, 3] .catch((err) => console.error(err)); // not called const promise4 = Promise.resolve(1); const promise5 = Promise.reject('failed'); const promise6 = Promise.resolve(3); Promise.all([promise4, promise5, promise6]) .then((values) => console.log('all', values)) // Not called .catch((err) => console.error('Promise.all() Error', err) // failed );
* Успех: когда все обещания выполнены, вернуть массив результатов обещаний.
* Ошибка: когда какое-либо обещание отклонено, возвращается ошибка первого отклоненного обещания.
Обещание.allSettled():
const promise7 = Promise.resolve(0); const promise8 = Promise.reject('fail'); const promise9 = Promise.resolve(2); Promise.allSettled([promise7, promise8, promise9]) .then((values) => console.log('Promise.allSettled()', values)) // [ // {"status":"fulfilled","value":0}, // {"status":"rejected","reason":"fail"}, // {"status":"fulfilled","value":2} // ] .catch((err) => console.error(err)); // never called
* успех: когда все обещания либо выполнены, либо отклонены, возвращает массив объектов, каждый из которых описывает результат каждого обещания.
{"status":"fulfilled","value":0}, {"status":"rejected","reason":"fail"}, {"status":"fulfilled","value":2}
Ошибка: никогда не звонили
Я хотел бы пойти с Обещанием. allSettled() потому что он используется для получения промиса, когда все входные данные урегулированы, которые либо выполнены, либо отклонены.
Пожалуйста, прокомментируйте свои предложения здесь, чтобы обновить для всех