假设我有一个正在侦听 generic 的套接字服务器message
,并且仅由于不同的有效负载而改变其行为。例如:
socket.on('users.get', function(payload) {
// retrieve user data
// return data that corresponds to the data requested in "payload"
socket.emit('users.get', returnData);
});
emit
如果使用消息制作了两个 socket users.get
,假设两者都在同一页面中制作,我将如何区分它们在客户端的返回?
直接的解决方案是将两个调用合并在一起,但如果这种情况是不可能的,我将如何管理它?在这个特定的实例中,一个users.get
调用是在页面加载时在页面的标题中进行的,另一个调用是users.get
从页面内容内部进行的。
完全清楚一个调用在标头中,另一个在内容中意味着如果在客户端使用它而不是,它可能会起作用,但这仍然涉及竞争条件,所以我想知道是否有任何处理此问题的标准方法。.once()
.on()