gpt4 book ai didi

带有计时器的RxjsdistingtUntilChanged

转载 作者:行者123 更新时间:2023-12-04 17:43:19 24 4
gpt4 key购买 nike

有没有一种方法可以将计时器添加到distinctUntilChanged?

在rxjs 6中

of(1, 2, 3, 3, 5, 6)
.pipe(distinctUntilChanged)
.subscribe(x => console.log(x)

我的问题是,有没有一种方法可以添加一个计时器,以便重复值超出时间范围时将发出该重复值,但如果重复时间值位于该时间范围内则将被忽略。

就像说计时器设置为1000(1s),在这种情况下为 interval(1000),并且在1s内发出重复值时,它将被忽略,但是如果在间隔(1s)之后,则应允许通过。我希望在这里有意义

另外,如果没有 distinctUntilChanged的话,还有更好的方法,我会很高兴地欢迎您。

提前致谢

最佳答案

这是windowTime有用的非常罕见的情况之一。 windowTime在一段时间过去之后创建了一个新的Subject(所谓的高阶Observable)。然后,您可以使用concatMap将它与distinctUntilChanged链接起来。这一切都意味着您将每1秒创建一个新的distinctUntilChanged:

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);

观看现场演示: https://stackblitz.com/edit/rxjs6-demo-pcmrzz?file=index.ts

关于带有计时器的RxjsdistingtUntilChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50928751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com