从一个空的可观察对象开始,我有不停的非rxjs事件流,我需要使用rxjs进行限制,但是我找不到找到受限制的输出的方法。在我的用例中,我不知道第一个值何时到达,也无法确定新值到达的频率。
https://stackblitz.com/edit/rxjs-behaviorsubject-simpleexample-etebvz?file=index.ts
我期望该示例能够正常工作,并显示与next()相加的值相隔1秒,但无法正常工作。
import { BehaviorSubject, interval } from 'rxjs';
import { tap, map, throttle } from 'rxjs/operators';
const subject = new BehaviorSubject(1);
const example = subject.pipe(
throttle(ev => interval(1000)),
tap((ev) => console.log(ev))
)
example.subscribe();
example.next(2);
example.next(3);
example.next(4);
example.next(5);
example.next(6);
我找不到任何在线示例来匹配此(显然)简单的用例,并且使用rxjs来实现该目标并不直观。任何帮助深表感谢。
throttleTime
允许您指定要再次发射之前要等待的毫秒数。
const example = subject.pipe(
throttleTime(1000),
tap((ev) => console.log(ev))
)
我建议检查操作员决策树,然后单击以查看可用的选项:
我现有一个可观察的
我想忽略价值观
发生得太频繁
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句