关于javascript运行时行为和间隔

About javascript runtime behavior and interval

本文关键字:javascript 运行时 关于      更新时间:2023-09-26

当后台运行interval方法时,是否可以导致当前函数中途停止,去执行interval方法,然后返回到当前函数?

例如:

setInterval(bar, 1000);
function foo(){
    a();
    b();
    c();
}
foo();

是否有可能当到达b()时,例如去做barbar,只有在当前功能(foo)完成后才会执行?

PS:我在问它如何在Chrome上工作。

不,不可能。间隔被添加到事件循环(队列)中,并且只有在调用堆栈为空时才从该事件队列中拾取新项目。这意味着foo应该在从队列中处理新项目之前完成执行。此外,不仅是通过interval添加的函数在foo完成之前不会被执行,所有其他的东西,如UI事件和网络请求回调都不会被执行。