有没有一种方法可以将计时器添加到distinctUntilChanged?
在rxjs 6中
of(1, 2, 3, 3, 5, 6)
.pipe(distinctUntilChanged)
.subscribe(x => console.log(x)
Run Code Online (Sandbox Code Playgroud)
我的问题是,有没有一种方法可以添加一个计时器,以便重复值落在时间范围之外时将发出该重复值,但如果落在该时间范围内则将被忽略。
就像说计时器设置为1000(1s),在这种情况下interval(1000),如果在1s内发出一个重复的值,它将被忽略,但是如果在间隔(1s)之后,则应允许它通过。我希望在这里有意义
另外,如果有更好的方法来做到这一点,distinctUntilChanged我将很高兴地欢迎您。
提前致谢
这windowTime是有用的非常罕见的场合之一。windowTime在一段时间过去之后创建一个新的Subject(所谓的高阶Observable)。然后,您可以使用concatMap将其与链接distinctUntilChanged。这一切都意味着您将distinctUntilChanged每隔1秒创建一个新的:
const subject = new Subject();
subject
.pipe(
windowTime(1000),
concatMap(obs => obs.pipe(distinctUntilChanged())),
)
.subscribe(console.log);
subject.next(1);
subject.next(2);
setTimeout(() => subject.next(2), 1200);
Run Code Online (Sandbox Code Playgroud)
观看现场演示:https : //stackblitz.com/edit/rxjs6-demo-pcmrzz?file=index.ts
| 归档时间: |
|
| 查看次数: |
565 次 |
| 最近记录: |