Если вы имеете в виду оператор take(1)
, который выбирает значение только один раз и сразу после этого завершает Наблюдаемое, а с ним и отписывается от всех подписок, вы можете сделать следующее:
this.productService.get(id).valueChanges().pipe(
take(1)
).subscribe(p => this.product = p)