我有一个特定的代码块(forEach循环),只要我有一个“item”,我就会在代码库中使用它。
如何将其重构为我可以随时调用的模块或全局函数。
以下是上下文:
Item.findById(itemid).populate('wants').exec(function(err, item){
item.wants.forEach(function(person){
person.avatar = gravatar.url(person.email, {size: 80, default: 'mm' });
});
//do some more stuff with item
});
我想在其他有“item”对象的地方重用这个forEach循环。我想我传入了item对象并再次返回它。
item.wants.forEach(function(person){
person.avatar = gravatar.url(person.email, {size: 80, default: 'mm' });
});
类似的东西:
var myLib = require('./lib/myLib');
...
item = myLib.doStuff( item );
答案 0 :(得分:0)
您的./lib/myLib.js
文件如下所示:
module.exports.doStuff = function(item) {
item.wants.forEach(function(person){
person.avatar = gravatar.url(person.email, {size: 80, default: 'mm' });
});
return item;
}
然后您可以按照您已经概述的要求使用
var myLib = require('./lib/myLib');
item = myLib.doStuff( item );