WebSocket最佳实践

4
我正在学习 Websockets,遇到了许多 socket.on(msg, function()) 事件。因此,我想知道最佳实践是什么,是为每种情况添加一个新的 socket.on 事件还是只使用一个事件并将子事件处理在其中。
switch(json.type) {
       case 'maps' : add_maps_from_json(json);
                    break; 
       case 'fList': show_floor_list(json); 
                    break; 
       ...
       case 'xxx':
2个回答

3
自从只有一个“onmessage”事件被触发,因此最干净的做法是为此设置单个处理程序。否则,事情很快就会变得混乱,因为没有一个中心位置可以清楚地了解事件触发后发生了什么。
此外,使用大量的处理程序,可能会调用很多代码。这在许多用例中可能并不重要,但是对于高频消息和/或时间关键处理,拥有单个函数似乎是更有效的解决方案。
顺便说一下,单个处理程序函数是Mozilla在其 WebSocket教程中所使用的方法。

1

这两种方法都可以使用。
然而,如果你只使用一个事件,那么你可以在消息上进行一些常见的前后处理。如果在不同的socket.on事件中执行此操作,将会强制您复制代码(即使预处理/后处理是在单独的方法中完成)。
因此,我建议采用单个socket.on方法的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接