Почему наблюдаемый мусор собирается, пока подписка еще активна? - PullRequest
0 голосов
/ 22 сентября 2019

Если у меня есть наблюдаемое в проекте Angular, такое как

  ngOnInit() {
    this.observable = timer(0, 990);
    this.subscription = this.observable.subscribe((value) => console.log(value));
  }

И я запускаю эту самую страницу, а затем переключаюсь на другую страницу без отписки от наблюдаемой, сборки мусорасобирает наблюдаемое:

observable shown as deleted in chrome memory tab

Оставляя подписку нетронутой: subscritpion not found in chrome memory tab

Теперь язадается вопросом о двух вещах:

  1. Каким образом Observable можно собирать мусор, пока подписка все еще имеет ссылку на него?
  2. Почему подписка все еще работает, если наблюдаемое исчезло?

Любое понимание будет оценено!

...