在删除套接字之前是否需要解除绑定回调?

时间:2016-12-27 16:55:20

标签: javascript node.js

我的js多人游戏中有内存泄漏。当客户端连接到服务器时,我绑定了很多回调。我的问题是,在从玩家表中删除套接字之前,我是否必须取消绑定回调?

以下是我的示例回调:

 Player.prototype.viewPortListenerInit = function(){
  var self = this;

  this.socket.on('clientViewPortResize', function(data){
    self.clientViewPort = data;
  });

  };

这是将玩家添加到玩家的列表/ hashset中:

this.list[socket.id] = new Player(socket);

这里是删除:

socket.on('disconnect', function(){
       delete this.list[socket.id]
});

1 个答案:

答案 0 :(得分:2)

如果没有对实例EventEmitter的引用(如socket),则会通过回调收集垃圾。