sou*_*der 2 javascript infinite-loop settimeout
我遇到了一个有趣的问题,我试图从一个infite循环中调用一个函数(它的体内有一个setTimeout),它从来没有被调用过,但是当循环变为infite时,调用正在发生!
这工作: -
var bar = function() {
setTimeout(function() {
console.log("1");
}, 0);
};
var count = 4;
while(count > 0){
bar();
count --;
}Run Code Online (Sandbox Code Playgroud)
这永远不会奏效.: -
var bar = function() {
setTimeout(function() {
console.log("1");
}, 1000);
};
while (true) {
bar();
}Run Code Online (Sandbox Code Playgroud)
任何人都可以解释这里发生的事情!如何从无限循环中调用其体内setTimeout的函数?