我了解为什么nodejs中的这段代码抛出超出了最大调用堆栈大小错误
function infinite(i) {
i++;
infinite(i);
}
infinite(0);
但是当我添加console.log(i);像这样的功能
function infinite(i) {
i++;
console.log(i);
infinite(i);
}
infinite(0);
一段时间后执行失败,没有任何错误,所以我的问题是什么?在这两种情况下,该函数都是递归调用的,因此应该导致超出最大调用堆栈大小错误。
因为我使用了console.log()
,所以该节点无法打印错误,所以这种输出阻塞了吗?