【发布时间】:2020-05-15 16:09:25
【问题描述】:
当用户更改输入字段时,我目前正在保存值。我不想在每次输入新字符时保存该值,所以我使用 rxjs debounceTime 在 3000 毫秒(只是一个示例)没有更改后保存。
this.subscription.add(this.form.controls.inputControl.valueChanges
.pipe(debounceTime(3000))
.subscribe(value => {
// execute HTTP call with value
}));
ngOnDestroy(): void {
this.subscription.unsubscribe();
}
如果用户更改了值并且在 3000 毫秒计时器到达之前调用了 OnDestroy,则该调用将不再执行。我想知道是否有办法取消活动计时器并在销毁组件之前执行所有剩余的可观察对象。
编辑:另一个选项可能是用户在有未保存的更改时收到警告。就像谷歌日历在添加新任务和离开页面时所做的那样
【问题讨论】: