【发布时间】:2020-04-14 16:50:44
【问题描述】:
从一个空的 observable 开始,我有源源不断的非 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 来实现这一点感觉不直观。任何帮助深表感谢。
【问题讨论】:
标签: rxjs throttling