में जेनरेटर का उपयोग करके मैं Koa.js फ्रेमवर्क और Mongoose.js मॉड्यूल का उपयोग कर रहा हूं।प्रत्येक के लिए नोड.जेएस
आम तौर पर मैं कोड इस तरह MongoDB से एक परिणाम प्राप्त करने के लिए:
var res = yield db.collection.findOne({id: 'my-id-here'}).exec();
लेकिन मैं 'आइटम' नामक एक सरणी के प्रत्येक तत्व के लिए इस लाइन पर अमल करने की जरूरत है।
items.forEach(function(item) {
var res = yield db.collection.findOne({id: item.id}).exec();
console.log(res) // undefined
});
लेकिन यह कोड नहीं चलता है क्योंकि उपज फ़ंक्शन में होती है। अगर मैं इसे लिखता हूं:
items.forEach(function *(item) {
var res = yield db.collection.findOne({id: item.id}).exec();
console.log(res) // undefined
});
मुझे परिणाम फिर से परिवर्तनीय में नहीं मिल रहा है। मैंने 'generator-foreach' मॉड्यूल का उपयोग करने की कोशिश की लेकिन यह इस तरह काम नहीं किया।
मुझे पता है कि यह नोड.जे.एस. की भाषा साक्षरता के बारे में ज्ञान की कमी है। लेकिन क्या आप लोग इसे कैसे करने के तरीके खोजने में मेरी मदद कर सकते हैं?
आपने 'जनरेटर-फोरैच' के साथ वास्तव में क्या प्रयास किया? – loganfsmyth
मैंने जनरेटर-फोरैच के साथ बस के लिए प्रतिस्थापित किया। शेष कोड एक ही है। क्या आप अपना कोड स्निपेट संशोधित कर सकते हैं और यह सुनिश्चित कर सकते हैं कि यह काम कर रहा है? –