想测试一个东西,然后就随意写了一段代码:
let a = true
setTimeout(() => {
a = false
}, 2000)
while(a) {
console.log('in while')
}
打开浏览器调试运行,然后tab页卡死了,一直在输出 in while...
转念一想,应该是事件循环导致的,因为当前宏任务一直在执行,虽然在下一个事件循环里有while退出条件,但是下一个tick永远不会到来~~~
记录一下自己的愚蠢~