Как отписаться, используя оператор take? - PullRequest
0 голосов
/ 22 апреля 2020

Как мне отписаться от этого с помощью оператора take?

constructor(/*params*/) {
  let id = this.route.snapshot.paramMap.get('id');
  if (id) this.productService.get(id).valueChanges().subscribe(p => this.product = p);
}

1 Ответ

0 голосов
/ 22 апреля 2020

Если вы имеете в виду оператор take(1), который выбирает значение только один раз и сразу после этого завершает Наблюдаемое, а с ним и отписывается от всех подписок, вы можете сделать следующее:

this.productService.get(id).valueChanges().pipe(
  take(1)
).subscribe(p => this.product = p)
...