小编mmo*_*ram的帖子

使用Promise时,Typescript中的内存泄漏

在Typescript中拥有这段代码

const f = async function() {
    return 1+1;
};

let memory = process.memoryUsage();
let i = 0;
while (i < 100000) {
    let result = await f().then(function(res) {}).catch(function() {});
    i++;
}
let memory2 = process.memoryUsage();
console.log(memory2.heapUsed - memory.heapUsed);
Run Code Online (Sandbox Code Playgroud)

我做的迭代越多,两点之间的堆就越大.

通过正确地减少方法,而不是使用promises而是简单的方法,使用的堆变得稳定并且即使我迭代1百万次也不会改变.

const f = function() {
    return 1+1;
};

let memory = process.memoryUsage();
let i = 0;
while (i < 200000) {
    let r = f();
    i++;
}
let memory2 = process.memoryUsage();
console.log(memory2.heapUsed - memory.heapUsed);
Run Code Online (Sandbox Code Playgroud)

谁能解释一下这里的内存泄漏究竟是什么?什么东西留在记忆中的位置在哪里?

javascript typescript

1
推荐指数
1
解决办法
850
查看次数

标签 统计

javascript ×1

typescript ×1