为什么我的io.on被连续解雇?

时间:2019-11-13 12:53:01

标签: node.js angular socket.io

我一直在尝试在项目中使用socket.io,但是我的io.on不断被触发。 我不明白为什么它在循环中。 正如其他答案所建议的那样,我已经对版本进行了交叉检查,完全相同。 任何帮助都会很棒。 这是它的代码 伺服器:-

io.on('connection', async function(socket){
       //These both lines are being called again and again
        console.log("Test"); 
        socket.emit('new_token');
    });

这将是一个有角度的消费者:

 this.socket.on('new_token', () => {
     // console.log(data);
        this.notifier.notify('warning','Embeded token has been updated. Reloading in 3 seconds. !');
        setTimeout(()=>{
          window.location.reload();
        }, 3000);

    });

1 个答案:

答案 0 :(得分:1)

每次加载或重新加载网页时,都会创建一个新的套接字连接。您在每个连接上都发出“ new_token”,然后侦听器通过window.location.reload()重新加载页面,这将再次触发连接事件,依此类推。 因此,这就是无限循环,就像您来回移动一样。