作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道我应该如何处理 express 中的回复和下一步。
我的理解是,当我说 res.send(...) -> 返回响应时
如果我想抛出一个错误,我会说 next(new Error('whatever')) -> 使用快速错误处理程序自动设置 http 状态代码。
我可以做到其中任何一个,但不能,但看起来我搞砸了。
谁能举个例子吗?
我试过了,
somefunc(err, req, res, next) {
if(err) {
res.send(500, 'some error');
return next(err);
}
}
return [somefunc, express.errorHandler()];
谢谢。
最佳答案
你可以注册一些中间件来处理错误:
app.use(function(err, req, res, next){
console.error(err.stack);
res.send(500, 'Something broke!');
});
如果您遇到逻辑错误,您也可以简单地发送 500 并进行回复
function loginUser(req, res, next) {
try {
var valid;
//code to check user
if (valid) {
next();
} else {
res.send(401, 'not authorized');
}
} catch (err) {
res.send(500, 'Oopsy');
}
}
app.get('/some/route',loginUser, function(req, res) {
// ...
});
关于javascript - 如何在nodejsexpress中处理response和next,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22521450/
我是一名优秀的程序员,十分优秀!