Как сборщик мусора в V8 относится к Promises при назначении новому объекту (мелкая копия)? - PullRequest
0 голосов
/ 10 марта 2020
let appLogin = null;
    SomeModel.findOne({
            where: {id: req.user.id},
            attributes: ["id","property_id"],
            raw: true,
        })
        .then((login) => {
            if(!login){
                throw new CustomErrors.InvalidToken("ER401");
            }             
            appLogin = login; return null;
        }
        .then((nullRecieved) => {
            console.log(appLogin)   
        })
        .catch((error) => {console.log(error)})

Я столкнулся с проблемой утечки памяти и недавно начал отлаживать, решил несколько вещей. Но, похоже, мне нужно больше беспокоиться о ссылках на объекты и сборках мусора, в приведенном выше примере кода SomeModel.findOne возвращает обещание, я назначаю это обещание новому объекту (мелкая копия) appLogin. Должен ли я сделать глубокую копию этого обещания? Довольно смущенный ссылками на обещание нового объекта, будет ли сборщик мусора рассматривать это обещание как мусор после перехода к следующему .then ()? Заранее спасибо. :)

...