代码之家  ›  专栏  ›  技术社区  ›  Umair Ahmed

设置超时的最大时间限制节点.js

  •  0
  • Umair Ahmed  · 技术社区  · 6 年前

    setTimeout 节点中的函数如下。

    //Formula: minutes * 60 > seconds * 1000 > miliseconds.
    setTimeout(() => {console.log("One minute")}, 1 * 60 * 1000)        //delay 60000
    setTimeout(() => {console.log("Five minutes")}, 5 * 60 * 1000)      //delay 300000
    setTimeout(() => {console.log("Ten minutes")}, 10 * 60 * 1000)      //delay 600000
    setTimeout(() => {console.log("Thirty minutes")}, 30 * 60 * 1000)   //delay 1800000
    setTimeout(() => {console.log("One hour")}, 60 * 60 * 1000)         //delay 3600000
    setTimeout(() => {console.log("Two hours")}, 120 * 60 * 1000)       //delay 7200000
    setTimeout(() => {console.log("Five hours")}, 300 * 60 * 1000)      //delay 18000000
    

    设置超时 10分钟 我看书的时候不工作 设置超时 24.8天 .

    当延迟大于2147483647或小于1时,延迟将设置为1

    enter image description here

    所有延迟的值都小于2147483647,为什么它不工作???

    2 回复  |  直到 6 年前
        1
  •  1
  •   Umair Ahmed    6 年前

    当我在上创建问题时,终于得到了答案 node.js 回购,基本上不是节点.js但是赫罗库的问题。

    Github issue

        2
  •  -3
  •   Sandip Nirmal    6 年前

    我不知道你到底想在这里得到什么。如果你想在后期执行一些东西,请使用 Cron 而不是 setTimeout .

    你最初的问题的答案是

    JavaScript store the delay as a 32-bit signed Integer internally. This causes an Integer overflow when using delays larger than 2147483647, resulting in the timeout being executed immediately.

    以上代码工作正常。

    enter image description here