[英]node.js modules pass object to singleton
我在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連接和響應返回)。
我將如何構造類以接受這兩個參數?
非常感謝!
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);
希望它能工作,還沒測試過:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.