JSFiddle - React, Tailwind, and code Playground
by nnsese
JavaScript
var myPromise = function(params) {
return new Promise(function(resolve, reject) {
console.time("date: " + params.date);
setTimeout(function() {
console.timeEnd("date: " + params.date);
if (params.fail) {
reject(params.date)
} else {
resolve(params.date)
}
}, 1000);
})
};
var paramList = [{
date: "2017-07-01",
fail: false
}, {
date: "2017-07-02",
fail: false
}, {
date: "2017-07-03",
fail: false
}, {
date: "2017-07-04",
fail: true
}, {
date: "2017-07-05",
fail: false
}, {
date: "2017-07-06",
fail: false
}];
wrapperFunction = function(acc, params) {
return acc.then(function() {
return myPromise(params)
})
}
paramList.reduce(wrapperFunction, Promise.resolve())
.then(function(result) {
console.log("Last: %s", result);
})
.catch(function(result) {
console.log("Fail: %s", result);
})
.then(function() {
console.log("Done.");
});