我有两个类似的代码,我认为它可能是可重用的,但不确定从哪里开始。如果您可以显示给我和示例,或将我链接到一篇文章,那将很好。
我有一个更新用户信息的块。
exports.updateUser = function(req, res, next) {
User.findById(req.params.id, function(err, user) {
if (err) {
return next(err);
}
user.email = req.body.email || '';
user.firstname = req.body.firstname || '';
user.lastname = req.body.lastname || '';
user.save(function(err) {
if (err) {
return next(err);
}
req.flash('success', {
msg: 'User information updated.'
});
res.redirect('/users');
});
});
};
这个区块会更新我的用户帐户信息。
exports.updateAccount = function(req, res, next) {
User.findById(req.user.id, function(err, user) {
if (err) {
return next(err);
}
user.email = req.body.email || '';
user.firstname = req.body.firstname || '';
user.lastname = req.body.lastname || '';
user.save(function(err) {
if (err) {
return next(err);
}
req.flash('success', {
msg: 'Profile information updated.'
});
res.redirect('/account');
});
});
};
如何进行可重用的更新。
最佳答案
看起来只有2个不同,它们是字符串。将它们作为参数传递。
exports.updateAccount = function(req, res, next, path, message) { //add 2 parameters
User.findById(req.user.id, function(err, user) {
if (err) {
return next(err);
}
user.email = req.body.email || '';
user.firstname = req.body.firstname || '';
user.lastname = req.body.lastname || '';
user.save(function(err) {
if (err) {
return next(err);
}
req.flash('success', {
msg: message //message param
});
res.redirect(path); //path param
});
});
};