检查 debounceTime() 中的 Observable 进度
Check if Observable in debounceTime() progress
如何才能在 Subject
上执行 .next()
只有在去抖动过程中?
let someFlag = true;
if (someFlag) {
someFlag = false;
if (this.resizeDebouncer !== null)) {
this.resizeDebouncer = new Subject<Event>();
this.resizeDebouncer.pipe(
debounceTime(1000)
).subscribe(e => console.log(e.type));
}
}
this.resizeDebouncer.next(event); // should be executed only if resizeDebouncer subject in debouncing progress.
// Don't execute if nothing is running
我没有找到任何正在进行的去抖动标记。 .isClosed
和 .isStopped
都不合适。但是我已经通过每次在订阅中取消订阅 Subject
来解决我的问题。在这种情况下,订阅仅存在于去抖动进度范围内,而在其他时间 .next()
不执行任何操作。
let subscription = this.resizeDebouncer
.pipe(debounceTime(300))
.subscribe(e => {
subscription.unsubscribe();
e => console.log(e.type);
});
如何才能在 Subject
上执行 .next()
只有在去抖动过程中?
let someFlag = true;
if (someFlag) {
someFlag = false;
if (this.resizeDebouncer !== null)) {
this.resizeDebouncer = new Subject<Event>();
this.resizeDebouncer.pipe(
debounceTime(1000)
).subscribe(e => console.log(e.type));
}
}
this.resizeDebouncer.next(event); // should be executed only if resizeDebouncer subject in debouncing progress.
// Don't execute if nothing is running
我没有找到任何正在进行的去抖动标记。 .isClosed
和 .isStopped
都不合适。但是我已经通过每次在订阅中取消订阅 Subject
来解决我的问题。在这种情况下,订阅仅存在于去抖动进度范围内,而在其他时间 .next()
不执行任何操作。
let subscription = this.resizeDebouncer
.pipe(debounceTime(300))
.subscribe(e => {
subscription.unsubscribe();
e => console.log(e.type);
});