如何将快速错误讯息传递给客户端?将错误传递给客户端中的快件
app.use(errorHandler);
function errorHandler(err, req, res, next) {
res.send(err);
}
app.post('/login', usernameIsValid, pwdIsValid, createToken);
在usernameIsValid
我创建一个消息和状态new Error
并调用next(err)
。现在这绕过pwdIsValid
和createToken
像它应该,但奇怪的是我的errorHandler记录错误没有console.log
。我是否在某处使用默认错误处理程序?我如何关闭它?我已经尝试过NODE_ENV
的生产和开发。
在客户端xhr.responseText
是我的error.message +什么看起来像一个堆栈跟踪?我甚至试图发送err.message,但它看起来一样。
处理这种混乱的一种方法是使每个中间件(如果有错误)创建一个错误字符串,如req.data.err = "invalid username"
,然后确保每个后续中间件检查req.data.err
是否存在字符串。但是,如果你传递一个错误next()和你没有错误处理程序处理它,这是地狱> _ <
NODE_ENV =生产没有帮助。我试过了。 –