以下代码会增加内存使用量直至崩溃:
const httpContext = require('express-http-context');
async function t2() {
}
async function t1() {
for (let i = 0; i < 100000000; i++) {
httpContext.ns.run(t2);
}
}
t1();
Run Code Online (Sandbox Code Playgroud)
运行它:node --inspect --max-old-space-size=300 ns
问题:命名空间 _contexts 映射永远不会被清理。
cls-hooked/context.js 中有一个函数 destroy(id) 但它从未被调用。
我还尝试了 ns.bind、ns.runPromise (它执行 ns.exit())和 ns.bind
运行结束后如何删除上下文?
代码:
const httpContext = require('express-http-context');
function t2() {
}
async function t1() {
for (let i = 0; i < 100000000; i++) {
httpContext.ns.run(t2);
}
}
t1();
Run Code Online (Sandbox Code Playgroud)
作品。
代码:
const httpContext = require('express-http-context');
async function …Run Code Online (Sandbox Code Playgroud)