【问题标题】:How many times on earth does setTimeout execute?setTimeout 到底执行了多少次?
【发布时间】:2013-05-02 03:00:11
【问题描述】:

我知道这可能是一个老问题。但是在谷歌搜索后我真的很困惑。

this question,我了解到 setTimeout 将永远执行,

但是从this one,我了解到它只会执行一次。

奇怪的是,当我在浏览器控制台中测试它时,我碰巧看到它一直在执行..

但有时它只执行一次:

相同的代码给出不同的结果。有人知道为什么吗?

已编辑: 我现在可以相信 setTimeout 只执行一次,但是如何解释我的测试的第一个屏幕截图?

【问题讨论】:

  • “从这个问题中,我了解到 setTimeout 将永远执行”:如果您指的是接受的答案,我认为它实际上是指问题中定义的函数,而不是setTimeout

标签: javascript settimeout setinterval


【解决方案1】:

setTimeout 只会执行一次

您链接到的 stackoverflow 问题中的代码会继续执行,因为它是递归的。 setTimeout 调用,调用自身。

【讨论】:

  • 在我的情况下这样做很棘手 $(".btn-new-order").trigger('change');造成了很多问题
【解决方案2】:

setTimeout 不会永远执行,尽管如linked question 中所示,您可以通过在传递给setTimeout 的函数中再次调用setTimeout 来模拟setInterval p>

answer 解释说,setTimeout/setInterval 的返回值是您稍后可以用来引用计时器以取消超时的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多