【发布时间】:2019-03-01 14:31:19
【问题描述】:
我正在阅读 an article 关于 rxjs concatMap 运算符的信息。这个人构建了一个自动保存表单,即,每当用户键入一个字母时,数据就会使用 http 请求进行保存
this.subscription = this.form.valueChanges
.pipe(concatMap(formValue => this.http.put(`/api/course/${courseId}`, formValue)))
.subscribe(saveResult => ... handle successful save ...);
我希望能够从 valueChanges Observable 中取消订阅 ngOnDestroy(),但 this.subscription 订阅指的是 http observable。那么如何取消订阅valueChanges?
【问题讨论】:
-
如果您调用
this.subscription.unsubscribe(),concatMap内的任何内部 Observable 也会被取消订阅,因为这将处理整个链。 -
所以
valueChanges将被取消订阅,对吧?能给个参考吗?