JSFiddle - React, Tailwind, and code Playground
by evgkch
JavaScript
const executeAction = (name, payload, done, errorDone) => {
console.log(name);
return done();
}
const executeActionsChain = (execute, catchError) => {
const chain = [];
execute(pushActionToChain);
run(chain);
function pushActionToChain(...args) {
chain.push(args);
}
function run([argList, ...restArgLists]) {
executeAction(
argList[0],
argList[1],
() => {
if (restArgLists && restArgLists.length > 0)
run(restArgLists);
},
e => {
if (typeof catchError == 'function')
catchError(e);
}
);
}
}
executeActionsChain(execute => {
execute('1', {});
execute('2', {});
})