以下是一些使用
当我在Chrome或Node.js上运行时,结果类似:
setTimeout
的简单 Javascript 代码示例:
function setTimeouts() {
setTimeout(function() { console.log(2); }, 2);
setTimeout(function() { console.log(1); }, 1);
setTimeout(function() { console.log(0); }, 0);
}
for (var i = 0; i < 10; i++) {
setTimeouts();
}
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
2
2
2
2
2
2
2
2
2
2
您可以看到所有超时时间为0
和1
的任务都在超时时间2
之前,这正是我所期望的。
但是0
和1
混合在一起,似乎它们具有相同的超时时间。我期望的是所有0
在1
之前。
如何理解这个问题?