2016-09-01 1 views
0

У меня есть очередь функций, вызываемых через следующую. В нормальном случае все в порядке, но у меня есть специальный сценарий, я хочу называть тот же url, но не хочу, чтобы пройти через всю эту функцию. некоторые функции в середине очереди не должны вызывать.expressjs игнорировать следующие функции до достижения специальной функции

Надеюсь, это понятно, что я имею в виду.

Итак, я хочу сказать следующей функции, чтобы игнорировать следующую функцию до достижения функции x. Единственное, что я мог найти, это следующий («маршрут»), но он переходит только к последней функции в очереди.

ответ

0

Приложите некоторые переменный флаг в вашем объекте запроса

function first(req,res,next){ 
if(your scenario) 
req.flag = true; 
} 

Проверьте для этого переменного внутри других промежуточных программный (функция)

function second(req,res,next){ 
if(req.flag) return next(); 
} 

Передачи данных внутри следующих не будет работать, потому что следующее принимает ошибку в качестве параметра, и это достигнет вашего промежуточного программного обеспечения обработки ошибок

+0

ОК, спасибо, это то, о чем я тоже думаю, но надеюсь, что есть более простой способ. – CordlessWool

Смежные вопросы