我正在寻找一种方法,可以避免在控制器的所有方法中重复下面的函数回调。
exports.findAll = function(request, reply) {
function callback (error, data) {
if (error) {
return reply(error);
}
return reply(data);
}
users.findAll(callback);
};
我想创建一个仍然可以访问回复对象的方法,这样我就可以在所有控制器方法中调用它。
答案 0 :(得分:1)
用户closure:
var callback = function(reply) {
return function(error, data) {
if (error) {
return reply(error);
}
return reply(data);
}
};
您可以将其从控制器方法中删除,甚至可以放入单独的模块中,并使用如下:
exports.findAll = function(request, reply) {
users.findAll(callback(reply));
};