我最近在修补节点 js 及其异步特性,并遇到了一些奇怪的事情。这是代码-
let sum = 0;
for(let i=0;i<10000000000;i++){
sum += i
if(i==99999999){
console.log(sum);
}
}
console.log('abc');
根据非阻塞的定义,它不应该等待 for 循环结果,应该先打印'abc',然后在计算完成后打印 sum 的值,对吗?然而,这并没有发生,程序正在等待 for 循环完成并打印 sum 的值,然后打印“abc”。谁能解释这背后的原因?这是由于 console.log 的工作方式造成的吗?
莫回无
茅侃侃
相关分类