Anda dapat menggunakan async.series()
untuk menjalankan setiap tugas. Setiap tugas mis. getBranches()
dan getSerials()
akan "mengembalikan" array data. Setelah rangkaian selesai, Anda harus memiliki larik data, jadi Anda perlu meratakannya.
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);
});
Lihat jawaban ini tentang meratakan array array dalam JavaScript.
Sunting :Saya tidak pernah menggunakan async.concatSeries() sebelumnya tapi mungkin menjadi lebih pendek.