NodeJS"setTimeout"可以等待多长时间



NodeJSsetTimeout是否可以延迟一周执行功能?(假设服务器没有故障…(在其他一些服务器中,如ASP.NET CORE,服务器在不使用时会休眠,因此我们不能使用这样的服务器。

NodeJS世界中也会发生同样的情况,还是服务器永远处于打开状态?

回答您的问题

setTimeout的延迟的第二个参数是32位有符号整数。因此,该值不能大于2147483647(约24.8天(。当延迟大于2147483647时,当天将设置为1。(参考(

回答您的用例

您可以运行cron作业,而不用在如此长的延迟中使用setTimeout

文档中没有任何内容表明它不起作用。但是,如果以毫秒为单位的长度大于2147483647(24天20小时31分钟24秒(,则延迟设置为1.

https://nodejs.org/api/timers.html#timers_settimeout_callback_delay_args

浏览器上的行为不同。不出所料,如果相关联的选项卡处于非活动状态,则超时会延迟。

如果方法上下文是Window对象,请等待Document与方法上下文关联的超时毫秒(不一定连续(。

否则,如果方法上下文是WorkerUtils对象,请等待超时毫秒已过,工作进程未挂起(未必须连续(。

https://www.w3.org/TR/2011/WD-html5-20110525/timers.html#dom-窗口计时器设置超时

最新更新