Gro*_*fit 7 javascript middleware http-status-codes node.js express
希望这是一个简单的程序,但是我有一些自定义的中间件,我想将404或401等返回给用户,并阻止其他处理程序等的传播。
我期待我可以做类似的事情:
function SomeMiddleware(req, res, next) {
if(user.notRealOrSomething)
{ throw new HttpException(401, "Tough luck buddy"); }
return next();
}
Run Code Online (Sandbox Code Playgroud)
但是找不到最佳方法的任何特定信息。
您应该将错误传递给该next()函数。
function SomeMiddleware(req, res, next) {
if(user.notRealOrSomething) {
return next(throw new HttpException(401, "Tough luck buddy"));
}
next();
}
Run Code Online (Sandbox Code Playgroud)
您传递给任何参数的都next将被视为错误,但'route'会跳至下一条路线。
当next出现错误时,将执行错误中间件。
function (err, req, res, next) {
// err === your HttpException
}
Run Code Online (Sandbox Code Playgroud)
Express.js会将带有4个参数的任何中间件视为错误中间件。
错误处理中间件的定义与常规中间件一样,但是必须定义为4(即签名(err,req,res,next)):
所有这些都在以下位置有很好的记录:http : //expressjs.com/guide/error-handling.html
| 归档时间: |
|
| 查看次数: |
4306 次 |
| 最近记录: |