पर कॉल नहीं किया गया है मेरे पास एक एसिंक कतार है जिसे मैं दबा रहा हूं जिससे कुछ किया जाएगा। जिस तरह से मैं उन वस्तुओं को उत्पन्न करता हूं जिन्हें मुझे धक्का देना है, कुछ नेस्टेड सूचियों के माध्यम से जाकर डेटा ऑब्जेक्ट बनाते हैं। कतार सबकुछ संसाधित करती है लेकिन किसी कारण से मैं console.log('All done.')
के साथ अपने मुख्य कॉलबैक पर नहीं जा सकता। मैंने सबसे अनावश्यक सामान हटा दिए हैं और बस एसिंक सामान छोड़ दिया है। मैं क्या गलत कर रहा हूं? क्या मैं कुछ भूल रहा हूँ?एसिंक क्यूई को धक्का देकर एसिंक लूप को दबाकर मुख्य कॉलबैक
var q = async.queue(function(task, callback) {
console.log('hello ' + task);
callback();
}, 2);
function A(data) {
B(data, function() {
// THIS ISN'T getting called.
console.log('All done.');
})
}
function B(data, callback1) {
var list = [[1,2], [3,4], [5,6]];
async.each(list, function(item, callback1) {
async.each(item, function(i, callback2) {
doWork(i, function() {
console.log('Work done');
})
callback2();
},
// THIS should be called when everything in this each is done.
callback1)
})
}
function doWork(i, callback3) {
q.push(i, callback3);
}
प्रश्न को साफ़ करने में सहायता के लिए: आप किस आउटपुट प्राप्त कर रहे हैं? आप क्या उम्मीद कर रहे थे ए और बी कहने वाला कोड कहां है? – hugomg
सभी 'हैलो' + कार्य और 'कार्य पूर्ण' प्रिंटिंग कर रहे हैं। लेकिन केवल मुख्य 'सब किया।' नहीं है। – owenlero
कृपया अपने कोड को फिसल गया है, कम से कम यह वाक्य रचनात्मक रूप से सही है, अन्यथा इसे – soulcheck