我有一个调用函数a
,它接受一个回调,如果有一个错误,就会调用它。
a
在 Express 路由请求中调用。如果有错误,错误应该是请求的响应。
function a(cb) {
cb(new Error('Some error message'))
}
app.get('/', function (req, res) {
a(function (error) {
if (error) {
res.json(error, 400)
}
res.send('No error')
})
})
我已经查看了 Express 的代码,它似乎res.json
会将我的error
. 但是,这样做的结果是一个空字符串:
> var e = new Error('Some error message')
undefined
> JSON.stringify(e)
'{}'
> e.message
'Some error message'
有一些方法可以让我的路线在此处返回错误消息,例如toString
在我的路线中转换错误对象。但是,我想知道在 Node API 中格式化错误消息的最佳实践是什么,以及这是否会改变这里的情况。我应该以不同的方式格式化我的错误消息,还是应该只处理Error
路由中的对象,例如:
res.json({ error: error.message }, 400)