javascript - 为什么 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 就可以了!
推荐阅读
- r - 你如何将你的cutree结果链接回你的数据框
- javascript - 如何在圆内绘制三角形指针
- java - 标签的 JavaFX 鼠标单击事件
- python - Python3:在 GUVI 上输入时出现 EOF 错误
- cmake - 如何每次 cmake 调用只打印一次消息?
- deployment - Nextjs/postcss css 变量在生产中不可用 (Zeit)
- r - 错误的维度数量股票价格
- angular - Angular Production Build 找不到插件“proposal-numeric-separator”
- io - 如何使用 Fortran 从 *.obj 文件中读取人脸信息
- c++ - Visual Studio 2019 拒绝构建解决方案 C++