给定函数
你可以看到追踪也在增长。那么setTimeout是否也会增加堆栈,或者在追踪增长背后有什么解释呢?
async function x(n) {
console.log(n);
console.trace();
if (n >= 3) { return; };
await setTimeout(() => x(n+1), 1000);
}
x(0);
我可以看到控制台中的跟踪信息越来越长。
与递归版本相比较,
async function x(n) {
console.log(n);
console.trace();
if (n >= 3) { return; };
x(n+1);
}
x(0);
你可以看到追踪也在增长。那么setTimeout是否也会增加堆栈,或者在追踪增长背后有什么解释呢?