If you don't want to use all the async/chain libraries but just want a reliable way to know when the function is done - this is for you.
npm i do
Series async execution
const chain = require('do');
const c1 = chain
.do(readConfig, 'myConfig')
.do(selectFromDb, 'select * from cities')
.do(getHttpPage, 'http://kpi.ua')
.do(readFile, 'README.md');
c1((err, result) => {
console.log('done');
if (err) console.log(err);
else console.dir({ result });
});
Data collector
const chain = require('do');
const fs = require('fs');
const dc = chain.do(6);
dc('user', null, { name: 'Marcus Aurelius' });
fs.readFile('HISTORY.md', (err, data) => dc.collect('history', err, data));
fs.readFile('README.md', dc.callback('readme'));
fs.readFile('README.md', dc('readme'));
dc.take('readme', fs.readFile, 'README.md');
setTimeout(() => dc.pick('timer', { date: new Date() }), 1000);
npm test
Copyright (c) 2013-2023 do contributors. See github for full contributors list. Do is MIT licensed.