我在node.js中使用了一个类,我想在需要时将各种对象传递给它。
这是班级:
var ItemHandler = (function() {
var items = new Array();
return {
start: function (item, callback) {
items.push(item);
ItemHandler.timer();
},
timer: function () {
var timer = setTimeout(function() {
console.log('test');
ItemHandler.timer();
}, 1000);
}
};
})();
module.exports = ItemHandler;
这是在我的路线index.js中调用的。像这样:
var itemHandler = require('./lib/item.handler.js');
itemHandler.start(items);
我想要做的是将我路线中使用的其他对象传递给此文件。与此类似:
var itemHandler = require('./lib/item.handler.js')(socket)(res);
在这里,我传入套接字对象(从socket.io连接和响应返回)。
我如何构建我的类以接受这两个参数?
非常感谢!
答案 0 :(得分:1)
function ItemHandler(param) {
var items = new Array();
ItemHandler.start = function (item, callback) {
items.push(item);
ItemHandler.timer();
};
ItemHandler.timer = function () {
var timer = setTimeout(function() {
console.log('test');
ItemHandler.timer();
}, 1000);
}
return ItemHandler;
};
module.exports = ItemHandler;
ItemHandler
现在是一个函数......
var itemHandler = require('./lib/item.handler.js')(socket)(res);
itemHandler.start(items);
或者:
var itemHandler = require('./lib/item.handler.js');
itemHandler(socket)(res).start(items);
希望它有效,没有测试过它:)