gpt4 book ai didi

javascript - 在 socket.io 中使用 Angular 进行重复

转载 作者:太空宇宙 更新时间:2023-11-04 02:53:33 25 4
gpt4 key购买 nike

使用 Angular 和 socket.io,每次服务器发出时,我都会在客户端上收到重复的事件。 Angular 仅包含一次,只有一个 socket.io 连接,并且客户端上的每个事件只有一个监听器。在服务器上接收到事件后,数据就会被记录下来,并且这个过程只会发生一次。然后,数据被发出,回调在客户端被调用两次,尽管只在范围内一次(据我所知)。

client:
//inside a controller
var thing ='foo';
socket.emit('sentUp',thing)

socket.on('sentDown',function(thing){
console.log(thing)//this happens twice
});

server:
/*
node&express stuff here
*/
socket.on('connection',function(socket){
socket.on('sentUp',function(stuff){
console.log('this happened')//x1
socket.emit('sendDown',stuff);
});
})

最佳答案

很可能您的 Controller 被加载多次。您可以通过登录轻松检查它。

从 Controller 中移出套接字代码并将它们放入仅被调用一次的服务中。

关于javascript - 在 socket.io 中使用 Angular 进行重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26392596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com