Verlassen der Kette routenspezifischer Middleware in Express / NodeJS
Ich habe eine Kette von "routenspezifischer Middleware" für diese Route, wie zum Beispiel:
var express = require('express');
var server = express();
var mw1 = function(req, resp, next) {
//do stuff
if (success) {
next();
} else {
req.connection.destroy(); //without calling next()
}
};
var mw2 = function(req, resp, next) {
//do stuff
if (success) {
next();
} else {
req.connection.destroy(); //without calling next()
}
};
server.post('/some/path', [mw1, mw2], function(req, resp) {
//write response
});
[mw1, mw2]
sind die für die Route spezifische Middleware/some/path
.
Dies unterscheidet sich von serverweiter Middleware wie folgt:
server.use(mw1);
server.use(mw2);
Wo gilt es für alle definierten Routen.
Jetzt ist mein Problem, dass ich aus der Kette aussteigen möchte. Das heißt obsuccess
ist falsch inmw1
Ich wünsche nichtmw2
heißen. Obsuccess
ist falsch inmw2
Ich brauche nicht, um die Routenfunktion aufzurufen. Derzeit beidemw1
undmw2
scheinen gerufen zu werden, ob oder nichtnext()
heißt - und ich weiß nicht warum.
Wie kann ich das machen?