2016-04-18 17 views
15

Esiste un motivo per non utilizzare le frecce anziché le espressioni di funzione regolari in expressjs per gestori nel middleware?es6 funzioni freccia di armonia nei gestori di numeri espressi

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

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

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

Cosa ti fa pensare che non dovresti usare le funzioni freccia invece delle normali funzioni? – saadq

+0

@saadq Ho modificato la domanda –

+0

L'unica differenza tra un'espressione di funzione regolare e una funzione di freccia è che la funzione di freccia non associa il proprio valore 'this' (Puoi leggere di più a riguardo [qui] (https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)). Quindi in un caso come questo in cui non avrai bisogno di usare 'this', usare una funzione di freccia andrebbe bene. – saadq

risposta

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

è lo stesso di

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

Nella maggior parte dei casi non si ha intenzione di utilizzare 'questo' (che sarà probabilmente non definito) nei gestori, così si è liberi di utilizzare funzioni di freccia.

Problemi correlati