我正在学习Node.js,并且正在研究一个示例应用程序。我有一个问题,为什么即使响应成功也总是收到http 400。
abcRoutes.get('/fetch', function (req, res) {
abc.getInfo(req,(err,response) =>{
if(err){
res.status(400).send(err);
}else{
res.status(200).send(response);
}
})
});
var getInfo = (req, callBack) => {
***some processing***
if (err) {
callBack(err);
} else {
callBack(result);
}
});
client.close();
}
})
}
答案 0 :(得分:0)
错误在这里:
var getInfo = (req, callBack) => {
//* **some processing***
if (err) {
callBack(err)
} else {
callBack(null, result) <---
}
}
使用回调模式时,请记住第一个参数始终是错误。
答案 1 :(得分:0)
成功后,您应将第一个参数(err
)设置为null
:
if (err) {
callBack(err);
}
else {
callBack(null, result);
}