मैं जेड टेम्पलेट प्रस्तुत करने से पहले कई मोंगोडीबी प्रश्नों को बनाने की कोशिश कर रहा हूं, लेकिन मुझे यह पता नहीं चल सकता कि टेम्पलेट को प्रस्तुत करने से पहले सभी मोंगो क्वेरीज पूर्ण होने तक कैसे प्रतीक्षा करें ।Node.js - एकाधिक एसिंक कॉल के लिए प्रतीक्षा करें
exports.init = function(req, res){
var NYLakes = {};
var NJLakes = {};
var filterNY = {"State" : "NY"};
db.collection('lakes').find(filterNY).toArray(function(err, result) {
if (err) throw err;
NYLakes = result;
});
var filterNJ = {"State" : "NJ"};
db.collection('lakes').find(filterNJ).toArray(function(err, result) {
if (err) throw err;
NJLakes = result;
});
res.render('explore/index',
{
NYlakes: NYLakes,
NJlakes: NJLakes
}
);
};
बहुत साफ। अच्छा लगा। –
इसमें दौड़ की स्थिति होगी। यदि दोनों एसिंक ऑपरेशन पूर्ण() को कॉल करने से ठीक पहले तक निष्पादित करते हैं, तो वे दोनों पूर्ण कथन के शरीर को पूर्ण() में निष्पादित करने के लिए आवश्यक शर्त के साथ कॉल कर सकते हैं। असंभव, लेकिन संभव है। –
@ ghert85 एक बहुप्रचारित वातावरण में आप सही होंगे, लेकिन node.js एकल थ्रेडेड है। इसलिए कोड लूप पर लौटने के बाद कोड को बाधित नहीं किया जा सकता है और यह दौड़ स्थिति नहीं हो सकती है। –