выход из цепочки промежуточного программного обеспечения, специфичного для маршрута, в express / nodejs
У меня есть цепочка «промежуточного программного обеспечения для конкретного маршрута» для этого маршрута, например:
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]
промежуточное программное обеспечение, специфичное для маршрута/some/path
.
Это отличается от серверного промежуточного программного обеспечения, как это:
server.use(mw1);
server.use(mw2);
Где это относится ко всем определенным маршрутам.
Теперь моя проблема в том, что я хочу выйти из цепочки. То есть еслиsuccess
ложно вmw1
Не желаюmw2
быть вызванным. Еслиsuccess
ложно вmw2
Я не без, чтобы функция маршрута была вызвана. В настоящее время обаmw1
а такжеmw2
кажется, звонят ли или нетnext()
называется - а я не знаю почему.
Как я могу сделать это?