Javascript 关于以下代码中socket.io事件连接的问题
在node.js/socket.io代码中,以下代码用于连接事件:Javascript 关于以下代码中socket.io事件连接的问题,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,在node.js/socket.io代码中,以下代码用于连接事件: socket.on('message', function(message) { var handler = messageFactory[message.messageType]; $chatMessages.append(handler(message)); }); 将messageFactory引用为数组(或至少使用[]符号)的逻辑/效果是什么?它是否为不同的messageType创建不同的句柄 谢谢
socket.on('message', function(message) {
var handler = messageFactory[message.messageType];
$chatMessages.append(handler(message));
});
将messageFactory引用为数组(或至少使用[]符号)的逻辑/效果是什么?它是否为不同的messageType创建不同的句柄
谢谢
将messageFactory引用为数组(或至少使用[]符号)的逻辑/效果是什么?它是否为不同的messageType创建不同的句柄
messageFactory是一个具有两种方法的对象chat
和system
我假设message.messageType
是“chat”
或“system”
因此,messageFactory[message.messageType]
只需获取两种方法中的一种
然后handler(message)
调用该方法
这是因为messageFactory.chat==messageFactory[“chat”]
如果查看服务器文件(“清单5:聊天室模块”),您将看到返回的方法
return {
messageType: 'system',
text: originalNick + ' changed nick to ' + newNick
};
因此,服务器返回一个消息对象,该对象带有在客户端读取的messageType
属性,看起来messageType只是“chat”
或“system”
该代码基本上是OO命令设计模式。它根据返回的对象类型运行不同的命令
将messageFactory引用为数组(或至少使用[]符号)的逻辑/效果是什么?它是否为不同的messageType创建不同的句柄
messageFactory是一个具有两种方法的对象chat
和system
我假设message.messageType
是“chat”
或“system”
因此,messageFactory[message.messageType]
只需获取两种方法中的一种
然后handler(message)
调用该方法
这是因为messageFactory.chat==messageFactory[“chat”]
如果查看服务器文件(“清单5:聊天室模块”),您将看到返回的方法
return {
messageType: 'system',
text: originalNick + ' changed nick to ' + newNick
};
因此,服务器返回一个消息对象,该对象带有在客户端读取的messageType
属性,看起来messageType只是“chat”
或“system”
该代码基本上是OO命令设计模式。它根据返回的对象类型运行不同的命令谢谢您的回答,这很有意义!我仍然有点困惑,为什么messageFactory[“chat”]与messageFactory.chat是一样的。这只是javascript的一部分吗?你知道我在哪里可以找到更多关于该语言功能的信息吗?@joe。看花园。这是语言聚会谢谢你们的回答,这很有道理!我仍然有点困惑,为什么messageFactory[“chat”]与messageFactory.chat是一样的。这只是javascript的一部分吗?你知道我在哪里可以找到更多关于该语言功能的信息吗?@joe。看花园。这是语言的聚会