谁能告诉我如何不断更新发送到连接的客户端每秒使用和的NodeJS socket.io?发送连续更新到连接的客户端使用socket.io和的NodeJS
注:我不想使用setInterval()函数,因为它是不适合我目前的情况。
谁能告诉我如何不断更新发送到连接的客户端每秒使用和的NodeJS socket.io?发送连续更新到连接的客户端使用socket.io和的NodeJS
注:我不想使用setInterval()函数,因为它是不适合我目前的情况。
您可以在自己引用了setTimeout
功能与setTimeout
做到这一点。基本上与做setInterval
的结果基本相同,但是在再次运行超时功能之前,将始终等待函数完成(假设同步代码)。
function thingToRepeat() {
let shouldCancel = false;
// send messages, do stuff,
// set shouldCancel to true to stop looping if needed
if (!shouldCancel) {
setTimeout(thingToRepeat, 1000);
}
}
这与使用'setInterval()'没有什么不同。弄清楚为什么OP禁止使用定时器似乎更有趣。 – jfriend00
区别在于何时运行。上述代码每隔1000ms运行一次中间代码运行,而'setInterval'精确地每运行1000ms运行一次,无论代码在结果函数中使用多长时间。有一个有效的理由使用任何一个,我不知道为什么OP不允许setInterval,但时间差异可能是。 – LocalPCGuy
你在找这个https://www.thecodeship.com/web-development/alternative-to-javascript-evil-setinterval/? – Garfield
你可以发布你当前的服务器文件吗? –
你说,“每隔几秒钟”,但你不想使用'setInterval()'。做怎么回事,你提出来触发每隔几秒钟您的服务器上的操作 - 这就是'的setInterval()'是,除非你有其他的一些事件驱动机制,你想用,你应该告诉我们。这个问题似乎过于束缚,没有解释任何理由。 – jfriend00