Node.js,如何避免事件名称空间冲突?

时间:2010-09-18 22:17:07

标签: node.js

在Android中,意图操作字符串始终以包名称为前缀以避免冲突。 node.js中的模式是什么?

2 个答案:

答案 0 :(得分:0)

好吧,我想事件没有播出,它是某个对象的回调。

答案 1 :(得分:0)

事件不是广播,而是传递给目标组件的消息。

argument_object = { method:'post', onComplete: function() { self.end() } }  
dest_component.emit("event", argument_object);  
dest_component.on('event', function(argument_object){
    // 
}

活动架构图层

首先,一切都从网袜开始

var sock = io.listen()  

sock.on("connection", function(client) {  
    client.on("message", function(msg) { (msg='join') new Player(client) }  
    client.on("disconnect", function() { }  
}  

每个web sock客户端都包含在一个播放器中,用上层播放器的emit事件处理sock客户端消息。

function Player(client) {  
    client.on("message", this.handleMsg.bind(this);  
}  

Player.prototype.handleMsg = function(event) {  
    this.emit('event', event, this);  
}

游戏包含一组玩家。玩家的事件处理程序使用上层Game的功能。

Game = module.exports.Game = function() { }  

Game.prototype.add = function(player) {  
   player.on("event", this.notify.bind(this);  
}  

Game.prototype.notify = function(msg, eventsrc) {  
   for(var player in players)  
       player.send(encode(msg));  
   }
}