这是我的测试代码(在这里小提琴):
console.log('Before wait');
setTimeout(function () { console.log('Yo!'); }, 1000);
var start = Date.now();
while (Date.now() < start + 3000) {}
console.log('After wait');
这是 Chrome 中事件的时间线:
- 时间 0 秒:打印“等待前”
- 时间 3 秒:打印“等待后”,然后在“哟!”之后立即打印
这种行为是否符合规范?为什么不是
- 时间 0 秒:打印“等待前”
- 时间 3 秒:打印“等待后”
- 时间 4 秒:打印“Yo!”
?