Scenario: Si consideri quanto segue è la parte del codice da un'app Web del nodo.Quando utilizzare next() e return next() in Node.js
app.get('/users/:id?', function(req, res, next){
var id = req.params.id;
if (id) {
// do something
} else {
next(); //or return next();
}
});
Problema: Sto controllando quale andare con appena next()
o return next()
. Sopra codice di esempio funziona esattamente lo stesso per entrambi & non ha mostrato alcuna differenza nell'esecuzione.
Domanda: Qualcuno può mettere luce su questo, quando usare next()
e quando utilizzare return next()
e alcune importanti differenze?
Possiamo inviare parametri come: 'next ('No ID')'? –
'next ('No ID')' sta effettivamente inviando un errore, che interromperà il flusso. – drinchev
Usa next (null, "somevalue"); Per strumenti come async.waterfall passerà il valore alla funzione successiva. Per serie complesse di interazioni che sono guidate dai dati, di solito passo un oggetto di contesto tra le funzioni. In questo modo posso creare funzioni generiche che possono essere condivise tra più end point e controllare il flusso tramite i dati nel contesto –