628просмотров
15 декабря 2024 г.
Score: 691
🔮 Полифил Promise.allSettled Если браузер не поддерживает Promise.allSettled, для него легко сделать полифил: Promise.allSettledFake = function(promises) { return Promise.all(promises.map(promise => { return new Promise(resolve=>(resolve(promise))) .then( result => ({status: 'fulfilled', value: result})) .catch ( error => ({status: 'rejected', reason: error})) }))
}; Promise.allSettledFake([ Promise.resolve(1), Promise.reject(2), Promise.resolve(3)
]).then(console.log) Получим:
[ { status: 'fulfilled', value: 1 }, { status: 'rejected', reason: 2 }, { status: 'fulfilled', value: 3 }
] #javascript
#angular
#frontend
#programming 🐱 FrontEnd_Xpert