node.js模块用于特定的代码块

时间:2012-11-08 02:38:28

标签: node.js

我有一个特定的代码块(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 );

1 个答案:

答案 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 );