vaakian / vaakian.github.io

some notes
https://vaakian.github.io
3 stars 0 forks source link

递归爆栈最简单的解决办法 #43

Open vaakian opened 2 years ago

vaakian commented 2 years ago
// f一直执行下去不会结束,所以变量不会被GC。
function f() {
    let _1MB = 1024 * 1024
    let mem = new uint8array(_1MB)
    f()
}
// 异步方式即可解决,只是将函数推入当前执行上下文以外保存,所以当前函数属于已经执行完毕。
function f() {
    let _1MB = 1024 * 1024
    let mem = new uint8array(_1MB)
    // setTimeout(f, 0)
    queueMicrotask(f)
}