salir de la cadena de middleware específico de ruta en express / nodejs
Tengo una cadena de "middleware específico de ruta" para esta ruta, así:
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]
Son los middleware específicos de la ruta./some/path
.
Esto es diferente del middleware de todo el servidor como este:
server.use(mw1);
server.use(mw2);
Donde se aplica a todas las rutas definidas.
Ahora mi problema es que quiero salir de la cadena. Es decir. Sisuccess
es falso enmw1
No deseomw2
ser llamado. Sisuccess
es falso enmw2
, No me falta para que la función de ruta sea llamada. Actualmente ambosmw1
ymw2
Parece que están siendo llamados, ya sea o nonext()
Se llama - y no sé por qué.
¿Cómo puedo hacer esto?