我的代码如下所示:
setTimeout(function () {
//send message in rabbitmq queue
}, 5 * 60 * 1000);
在这里发生的是setTimeOut内部的函数被偶尔而不是每次调用。那么如何使其每次都调用在函数内部编写的代码呢?
答案 0 :(得分:2)
要了解 setTimeout 的工作方式,您需要了解javascript是异步的单线程的。
堆栈为空后,将执行setTimeout 函数。因此,函数的执行主要取决于堆栈何时为空。
事件循环是始终检查堆栈是否为空并给函数提供执行机会的循环。要了解这一点,您可以检查事件循环的工作方式:http://latentflip.com/loupe