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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么NodeJS / Socket调用了这么多次相关的知识,希望对你有一定的参考价值。

我有个问题。

当用户访问像/ 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() {

所以我会在文档准备就绪时运行,但我不知道他为什么多次调用该函数并且超时工作...

答案

这是Socket.io版本!

安装Socket.io版本1.7.3比它的工作!

以上是关于为什么NodeJS / Socket调用了这么多次的主要内容,如果未能解决你的问题,请参考以下文章

Objective-c 发布被调用了这么多次

socket.on 调用它的回调太多次

讯飞socket版tts之nodejs应用

NodeJS - Socket.io 只允许经过 JWT 验证的连接

NodeJs Socket.io Rooms

NodeJs Socket.io 房间