我正在生成一个帮助程序自定义模块,该模块应该返回 res.status(422).json(objError)。但是,如何获得res对象? 我尝试在该模块中使用Express库,但没有任何变化。
nodejs定制模块
function Validation(result){
if(result.error){
//422 Validation Error
var objError = [];
Object.keys(result.error.details).forEach(function(key) {
objError.push(result.error.details[key]['message']);
});
return res.status(422).json(objError);
}
}
module.exports.JV = Validation
答案 0 :(得分:1)
您需要将响应对象传递给函数。
function validateAndResponse(result, res){
if(result.error){
//422 Validation Error
var objError = [];
Object.keys(result.error.details).forEach(function(key) {
objError.push(result.error.details[key]['message']);
});
return res.status(422).json(objError);
}
}
然后调用为:validateAndResponse(result,res);
理想情况下,不应在函数中执行此操作以保持函数的SingleResponsiblity。
答案 1 :(得分:0)
您可以在方法中将res作为参数发送
logging.exception(division by zero)
there was a divide by 0 error when I called exampleFunction()
}
这应该有效