U kunt async.series()
gebruiken om elke taak uit te voeren. Elke taak b.v. getBranches()
en getSerials()
zal een reeks gegevens "teruggeven". Als de reeks klaar is, zou je een array met gegevens moeten hebben, dus je moet deze afvlakken.
async.series([
function getBranches(done) {
async.mapSeries(branch_name, function (item, done) {
// FYI 'done' inside this function is not the same 'done' as outside the function
// ...
}, done);
},
function getSerials(done) {
async.mapSeries(serial, function (r_serial_no, done) {
// ...
}, done);
},
// etc
], function (err, data) {
// data should come back as multidimensional array
// so you should only need to flatten it
var finalJSON = [].concat.apply([], data);
});
Zie dit antwoord met betrekking tot het afvlakken van een reeks arrays in JavaScript.
Bewerken :Ik heb async.concatSeries() nog nooit gebruikt eerder maar het misschien korter zijn.