कुछ समान प्रश्न पूछे गए हैं लेकिन मेरा सवाल यह है कि यदि मैं मध्यवर्ती परिणामों को प्रचारित करना चाहता हूं जो मुझे मिलता है विभिन्न रूटिंग मिडलवेयर के साथ, ऐसा करने का सबसे अच्छा तरीका क्या है?req.locals बनाम res.locals बनाम res.data बनाम req.data बनाम app.locals एक्सप्रेस मिडलवेयर
app.use(f1); app.use(f2); app.use(f3);
function f1(req,res,next) {
//some database queries are executed and I get results, say x1
res.locals.dbResults = {...};
next();
}
function f2(req,res,next) {
// more processing based upon req.locals.dbResults
res.locals.moreResults = {....};
next();
}
// ...
मुझे लगता है कि मैं अनुरोध .locals का उपयोग करके विभिन्न मिडलवेयर के माध्यम से डेटा के एक ही प्रचार मिल सकती है। साथ ही, ऐसा प्रतीत होता है कि अनुरोध और प्रतिक्रिया ऑब्जेक्ट्स में अनुरोध की शुरुआत में दोनों स्थानीय गुणों को खाली ऑब्जेक्ट में प्रारंभ किया गया है।
इसके अलावा, कोई res.mydata या req.mydata गुण भी सेट कर सकता है?
सिद्धांत रूप में, ऐप.लोकल्स का उपयोग विभिन्न डेटावेयर के माध्यम से इस डेटा को पारित करने के लिए भी किया जा सकता है क्योंकि यह मध्यवर्ती इलाकों में जारी रहेगा लेकिन यह ऐप.लोकल्स के पारंपरिक उपयोग के विपरीत होगा। यह एप्लिकेशन विशिष्ट डेटा के लिए अधिक उपयोग किया जाता है। अनुरोध-प्रतिक्रिया चक्र के अंत में उस डेटा को साफ़ करना भी आवश्यक होगा ताकि अगले अनुरोध के लिए उसी चर का उपयोग किया जा सके।
मिडलवेयर के माध्यम से मध्यवर्ती परिणामों को प्रसारित करने का इष्टतम और मानक तरीका क्या है?
प्रलेखन भेदभाव पर स्पष्टीकरण के लिए धन्यवाद जो res.locals के पक्ष में काम करता है। आपने मेरी समझ की पुष्टि की कि सिद्धांत रूप में सभी दृष्टिकोण तकनीकी रूप से समान हैं। आइए अधिक टिप्पणियों के लिए प्रतीक्षा करें। आपका जवाब ऊपर उठाया ... निश्चित रूप से उपयोगी। – Sam