如何使用 take 运算符取消订阅?

How to unsubscribe using take operator?

如何使用 take 运算符取消订阅?

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

如果你的意思是 take(1) 运算符只获取一次值,然后立即完成 Observable,并取消订阅所有订阅,你可以执行以下操作:

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