2017-08-31 87 views
2

谁能告诉我如何不断更新发送到连接的客户端每秒使用和的NodeJS socket.io?发送连续更新到连接的客户端使用socket.io和的NodeJS

注:我不想使用setInterval()函数,因为它是不适合我目前的情况。

+0

你在找这个https://www.thecodeship.com/web-development/alternative-to-javascript-evil-setinterval/? – Garfield

+0

你可以发布你当前的服务器文件吗? –

+0

你说,“每隔几秒钟”,但你不想使用'setInterval()'。做怎么回事,你提出来触发每隔几秒钟您的服务器上的操作 - 这就是'的setInterval()'是,除非你有其他的一些事件驱动机制,你想用,你应该告诉我们。这个问题似乎过于束缚,没有解释任何理由。 – jfriend00

回答

1

您可以在自己引用了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); 
    } 
} 
+0

这与使用'setInterval()'没有什么不同。弄清楚为什么OP禁止使用定时器似乎更有趣。 – jfriend00

+0

区别在于何时运行。上述代码每隔1000ms运行一次中间代码运行,而'setInterval'精确地每运行1000ms运行一次,无论代码在结果函数中使用多长时间。有一个有效的理由使用任何一个,我不知道为什么OP不允许setInterval,但时间差异可能是。 – LocalPCGuy

相关问题