384 Stimmen

Wofür wird der Parameter "next" in Express verwendet?

Angenommen, Sie haben einen einfachen Codeblock wie diesen:

app.get('/', function(req, res){
    res.send('Hello World');
});

Diese Funktion hat zwei Parameter, req y res , die die Anfrage- bzw. Antwortobjekte darstellen.

Auf der anderen Seite gibt es andere Funktionen mit einem dritten Parameter namens next . Schauen wir uns zum Beispiel den folgenden Code an:

app.get('/users/:id?', function(req, res, next){ // Why do we need next?
    var id = req.params.id;
    if (id) {
        // do something
    } else {
        next(); // What is this doing?
    }
});

Ich kann nicht verstehen, was der Sinn von next() ist oder warum es verwendet wird. In diesem Beispiel, wenn id nicht existiert, was ist dann next tatsächlich tun?

0voto

Bharat Punkte 186

Ich möchte auch hinzufügen, warum express ruft nicht die nächste Middleware auf und gibt uns die Kontrolle über sie. Da Node asynchron ist, kann die Antwort unvollständig sein oder Fehler enthalten, wenn Express die nächste Middleware aufruft, ohne auf den Abschluss eines asynchronen Aufrufs zu warten. Daher haben die Benutzer die Kontrolle darüber, wann die nächste Middleware-Funktion aufgerufen werden soll.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X