簡體   English   中英

node.js模塊將對象傳遞給單例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM