回调函数作为参数传递给另一个函数。为了尊重关注点的分离,我如何将下面的示例重写为回调?我知道Req,Res部分是外包给路由器的。
Userservice.js
function getByUserId(req, res, next) {
let userIDD = req.body.userID;
User.findOne({
userID: userIDD
}, function(err, result) {
if (err) {
console.log("error: " + err)
} else {
console.log("Awesome.");
res.send(result)
}
})
}UserRoute.js
router.post('/publicUser/getByUserID', userService.getByUserId)发布于 2021-11-17 09:10:37
我认为现在很好,但是如果您想使用回调并将此函数用作中间件,您可以使用next(result)而不是res.send(result)。
发布于 2021-11-17 13:10:25
如果要在post方法中直接声明回调函数,可以使用箭头函数:
router.post('/publicUser/getByUserID', (req, res) => {
let userIDD = req.body.userID;
User.findOne({
userID: userIDD
}, function(err, result) {
if (err) {
console.log("error: " + err)
return res.send(err);
}
console.log("Awesome.");
res.send(result)
})
})https://stackoverflow.com/questions/70000201
复制相似问题