JSFiddle - React, Tailwind, and code Playground

by evgkch

JavaScript

const arr = [];
let i = 0;
const actionsList = [action,action,action,action];

function execute(chain){
	chain[0](function(res){
  	arr.push(res);
    const _chain = chain.slice(1);
  	if (_chain.length > 0)
    	execute(_chain);
    else
    	console.log('done:', arr, actionsList)
  })
};

function action(resolve){
	setTimeout(function(){
  	resolve(i++);
  },500);
};


execute(actionsList)