我对Javascript中的定时器有点困惑。 我一直在玩定时器。关于Javascript中定时器的混淆问题
我对异步事件中的排队过程如何发生困惑。 我已阅读关于异步事件如何排队的文章。 但是我发现很难绕过排队过程。
下面的代码:
http://jsbin.com/iwahuf/2/edit
在我已经发布将计时器按顺序queud的代码。事件队列中的定时器不会执行FIFO(先入先出)。
以下是我在活动队列中记住的内容。
- 第一定时器W/500ms的延迟
- 秒计时器W/600毫秒延迟
- 第三定时器W/300ms的延迟
- 四定时器W/400ms的延迟
在我看来,由于第一个计时器是第一个在事件队列中注册的计时器,它将是第一个被执行的计时器,并且只有在500毫秒后第二个计时器才会被执行,依此类推。
请在这个问题上给我启发。我是一个小混混。我认为我对排队过程的理解并不完全正确。
在此先感谢。
没错。没有“定时器队列”。如果你想这样做,你需要自己实现。即注册第一个计时器内的第二个计时器会添加它们。 –
感谢您的回复。 我对你的陈述有些困惑,他们同时被执行。不是Javascript单线程,所以我认为只有一个异步事件或计时器将被注册在事件队列中。 – chanHXC
@chanHXC很好,不完全是同一时间,但JS速度足够快,所以感觉就像是同一时间。 –