我正在寻找observable
运算符,该运算符在发出值后将等待500ms。
如果在这段时间内发出新值,它将采用新值并忘记最后一个值。
如果没有新值发出,它将进一步传递该值。
我尝试过:
delay
-它只会延迟每个值
debounceTime
-它会在值之间造成差距并发出每个值。
答案 0 :(得分:0)
您可以尝试使用crunchTime(500)和last()运算符。 例如,
interval(100)
.pipe(
take(10),
throttleTime(500),
last(),
)
.subscribe({
next: x => console.log('x', x),
error: error => console.log('error', error),
complete: () => console.log('complete'),
});
结果,您得到6->完成。
答案 1 :(得分:0)
看看debounceTime
debounceTime(dueTime:数字,调度程序:Scheduler):可观察
丢弃发射时间间隔小于指定时间的值 输出
-1---2-3-4----5-6|
debounceTime(--) ----1-------4---6|