1150680
我看到网上有人说这样上线时间一长会导致内存爆炸。但是没写改怎么办。那么我们该怎么写呢。
router.get("/", (req, res, next) => {
let send = async () => {
try {
let mydata = await myTable.jcwlproducts.findAll({
attributes: ["type", "pro_name", "pic_url", "detail_url"]
});
let type1=[], type2=[], type3 = [],
mydata.forEach(function (element) {
if (element.type === 1) {
type1.push(element);
}
else if (element.type === 2) {
type2.push(element);
}
else {
type3.push(element);
}
}, this);
res.render("product", { type1: type1, type2: type2, type3: type3 });
}
catch (e) {
console.log(e);
res.send(e);
}
}
send();
});
上面这段代码,mydata,type1,type2,type3都是数组,它们占用的内存会一直存在,不会回收吗? 需要在消息发送之后,手动设置mydata = null吗。 来源:https://www.zhihu.com/question/35401115/answer/62790286?utm_source=wechat_session&utm_medium=social