Let\'s say I am using the following code to run a couple of promises in series:
let paramerterArr = [\'a\',\'b\',\'c\',\'d\',\'e\',\'f\']
parameterArr.reduce
Here is my complete solution for delayed promise sequences:
function timeout_sequence_promise(promises = [], timeout = 200) {
//fake promise used as buffer between promises from params
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
//we need to create array of all promises with delayed buffers
let delayed_promises = [];
let total = promises.length;
let current = 0;
//every odd promise will be buffer
while (current < total) {
delayed_promises.push(promises[current]);
delayed_promises.push(delay(timeout));
current++;
}
return Promise.all(delayed_promises).then((result) => {
//we need to filter results from empty odd promises
return result.filter((item, index) => (index+2)%2 === 0);
});
}
It's receive array of promises and timeout delay in ms between them, as parameters.
Hope, it will help you!