JSFiddle - React, Tailwind, and code Playground
JavaScript
function doFirstThing(){ return Promise.resolve(1); }
function doSecondThing(res){ return Promise.resolve(res + 1); }
function doThirdThing(res){ return Promise.resolve(res + 2); }
function lastThing(res){ alert("result: " + res); }
const tasks = [ doFirstThing, doSecondThing, doThirdThing, lastThing];
const chain = arr =>
arr.reduce((acc, fn) => acc.then(fn), Promise.resolve());
chain(tasks);