Утечка памяти в обработчике EventEmitter в Node.js - PullRequest
0 голосов
/ 15 ноября 2018

Это утечка памяти?

class Leaky {
    constructor(options) {
        process.on('message', function(msg) {
            this.do_something(msg)
            // ...
        }.bind(this))
    }

    // ...
}

Когда я вызываю new Leaky(), ссылка привязывается к экземпляру через обработчик. process не собирается быть GC'd, поэтому я просто пропустил экземпляр Leaky?

Как я могу предотвратить это? Единственное решение, которое я могу придумать, - это метод dispose, который вызывает process.off, но я бы хотел этого избежать. Я не вижу что-то вроде unref или слабых обработчиков на EventEmitter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...