Я работаю над сервисным уровнем, который управляет подписками.
Я предоставляю предметно-наблюдаемые данные для потребителей, как это:
const subject = new Subject();
_trackedSubjects.push(subject);
return subject.asObservable();
Различные потребители могут контролировать канал, поэтому к каждому субъекту может быть прикреплено несколько наблюдаемых.
Я бы хотел следить за счетом subject.observers
, и если он когда-нибудь упадет до 0, сделайте некоторую очистку в моей библиотеке.
Я посмотрел на refCount, но это доступно только в Observable.
Я бы хотел найти что-то вроде:
subject.onObserverCountChange((cur, prev) =>
if(cur === 0 && prev !== 0) { cleanUp(subject) }
)
Есть ли способ автоматической очистки подобным образом по теме?