如果使用express作为框架,则应改为调用next()。
在表达每个处理程序接收3个参数(unlinke 2为基本HTTP),其是
req,
res与
next
next是一个不带任何参数的函数,它将触发中间件链中的下一个处理程序。
如果
next使用参数调用,则无论该参数的类型如何,该参数都将被解释为错误。
其签名为
next([error])。当next被错误调用时,它而不是调用中间件链中的next处理程序,而是调用错误处理程序。您应该在该错误处理程序中处理401响应代码。请参阅此以获取有关Express中错误处理的更多信息。
编辑:作为 @Baptiste科斯塔 评论,只是要求
next()将 不会
停止当前的执行,但它会调用上的下一个中间件。较好的做法是使用它
return next()来防止Node进一步抛出错误(例如
can't setheaders after they are sent-错误)。这包括以上常见的错误抛出建议:
return next(new Error([error]));



