Promise.allSettled Polyfill
by Konstantin Rouda
CSS
/*
https://github.com/es-shims/Promise.allSettled/blob/master/implementation.js
*/
JavaScript
;(function () {
"use strict";
if(!Promise.allSettled) {
Promise.allSettled = function allSettled (promises) {
function allSettledPromisesMap (promise) {
function onResolve (value) {
return {
"status": "fulfilled",
"value": value
};
};
function onReject (reason) {
return {
"status": "rejected",
"reason": reason
};
};
return promise.then(onResolve).catch(onReject);
};
var pendingPromises = promises.map(allSettledPromisesMap);
return Promise.all(pendingPromises);
};
};
})();