为什么NodeJS / Socket调用这么多次

时间:2018-12-23 17:03:53

标签: node.js sockets

我有问题。

当用户访问/ top之类的网站时,我想吸引顶级用户。

if(window.location.href.indexOf("/top") > -1) {
    app.website.socket.emit('loadTopDailyCases');
}

我发出loadTopDailyCases以取回TopCases。 但是由于某种原因,他打电话了那么多次,以至于载入时间有时非常长,我在日志中看到他试图载入很多次...

那是服务器端。他还给TopCases(一个数组)

socket.on('loadTopDailyCases', function() {
    socket.emit('topdailycases', TopCases);
});

但是那要比它打电话很多次,但是我不知道为什么...

如果我调用的第一个带有超时的发射,则系统仅调用一次并且快速完成。但是为什么只有超时呢?

if(window.location.href.indexOf("/top") > -1) {
    setTimeout(function() { app.website.socket.emit('loadTopDailyCases'); }, 500); 
}

调用一次并完成... 但是我不明白为什么:/

有人知道那里发生了什么吗? :/ 每个jquery函数之外都是

$(document).ready(function() {

所以我希望所有这些都在文档准备就绪时运行,但是我不知道他为什么这么多次调用该函数,并且在超时的情况下有效...

1 个答案:

答案 0 :(得分:0)

那是Socket.io版本!

安装Socket.io版本1.7.3即可!