2016-04-18 8 views
15

क्या कोई कारण नहीं है कि मध्यवर्ती में हैंडलर के लिए एक्सप्रेसजेज़ में नियमित फ़ंक्शन एक्सप्रेशन के बजाय तीर का उपयोग न करें?एक्सप्रेस हैंडलर में es6 सद्भावना तीर फ़ंक्शन

app.use(mountSomething()) 
router.use(mountSomethingElse()) 

app.get('/', (req,res,next)=> { 
    next(); 
}) 

route.get('/path', (req,res,next)=>{ 
    res.send('send') 
}) 
+2

आपको क्या लगता है कि आपको नियमित कार्यों के बजाय तीर फ़ंक्शंस का उपयोग नहीं करना चाहिए? – saadq

+0

@saadq मैंने प्रश्न –

+0

संपादित किया है नियमित फ़ंक्शन अभिव्यक्ति और तीर फ़ंक्शन के बीच एकमात्र अंतर यह है कि तीर फ़ंक्शन अपने 'इस' मान को बाध्य नहीं करता है (आप इसके बारे में अधिक पढ़ सकते हैं [https] (https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions))। तो इस तरह के मामले में जहां आपको तीर फ़ंक्शन का उपयोग करके 'इस' का उपयोग करने की आवश्यकता नहीं होगी, ठीक होगा। – saadq

उत्तर

10
app.get('/', (req,res,next)=> { 
    next(); 
}) 

, के रूप में

app.get('/', function(req,res,next) { 
     next(); 
}.bind(this)) 

ज्यादातर मामलों में आप संचालकों में उपयोग करने के लिए 'इस' (जो शायद अपरिभाषित हो जाएगा) नहीं जा रहे हैं एक ही है तो आप उपयोग कर सकते हैं तीर कार्य

संबंधित मुद्दे