关于flash的setInterval api调用

时间:2010-07-05 04:07:08

标签: flash

  setInterval(func, 1000)

如果func花费的时间超过1000 ms,下一次呼叫会等待1000 ms还是立即执行,该怎么办?

2 个答案:

答案 0 :(得分:1)

Flash运行时是单线程的。因此,只要有要执行的操作(函数调用),它就会排队等待已经挂起的操作。所以在任何时候只执行一个函数。
在你的情况下如果你的函数func执行时间超过1000毫秒,即如果func处于执行和时间之间interval到期后,对func的新呼叫排队。因此,只要第一个func完成执行,那么下一个调用将被选中(如果有的话)。在这种情况下,它将是另一个func电话。如果在此之前有其他侦听器,则会按顺序调用它们。

答案 1 :(得分:0)

如果没有其他事情发生,将每1000毫秒调用一次回调方法。

我写了半段代码来详细说明每1000ms调用一个间隔的方法,并且根据布尔值,间隔重新调用或删除自身。如果您要我粘贴,请告诉我。

编辑:查看bhups的答案,更好的描述 - 如果你想要我提到的代码,请告诉我。