我有一个这样的路由器:
app.get('/rest/userList', (req, res) => {
UserList.find({}, (err, users) => {
if (err) res.send(err);
res.json(users);
});
});
我想像这样改变它:
app.get('/rest/userList', getUsers);
function getUsers(req, res) {
UserList.find({}, createResponse);
}
function createResponse(err, users) {
if (err) return res.send(err);
return res.send(users);
}
然而; 在 createResponse 函数中,'res' 未定义。我怎样才能做到这一点?
您可以使用.bind()
将额外的参数绑定到回调:
app.get('/rest/userList', getUsers);
function getUsers(req, res) {
UserList.find({}, createResponse.bind(null, res));
}
function createResponse(res, err, users) {
if (err) return res.send(err);
return res.send(users);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句