आप async.series()
का उपयोग कर सकते हैं प्रत्येक कार्य को चलाने के लिए। प्रत्येक कार्य उदा. getBranches()
और getSerials()
डेटा की एक सरणी "वापस" करेगा। जब श्रृंखला पूरी हो जाती है, तो आपके पास डेटा की एक सरणी होनी चाहिए, इसलिए आपको इसे समतल करने की आवश्यकता है।
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);
});
यह देखें उत्तर जावास्क्रिप्ट में सरणियों की एक सरणी को समतल करने के संबंध में।
संपादित करें :मैंने कभी भी async.concatSeries() का उपयोग नहीं किया है पहले लेकिन यह हो सकता है छोटा हो।