В
function parallel(fns, done) {
let results = {};
const callbaks = [];
fns.forEach((fn, index) => {
fn((result) => {
results[index] = result;
if (Object.keys(results).length === fns.length) {
results = Object.keys(results).map((key) => results[key]);
callbaks.forEach((cb) => {
results = cb(results);
});
}
});
});
const actions = {
then: (cb) => {
callbaks.push(cb);
return actions;
}
};
return actions;
}