RxJS Use Case
统计页面点击次数
注意,RxJS中的scan
相当于JavaScript中的Array.prototype.reduce
,下面的例子展示了如何统计页面点击次数。
1 | const { fromEvent, scan } = rxjs; |
节流
Resize窗口
resize时间触发非常频繁,我们可以使用throttleTime
来节流,下面的例子展示了如何节流resize事件。
1 | const { fromEvent, throttleTime } = rxjs; |
统计点击次数
throttleTime
可以用来实现节流,下面的例子展示了如何实现节流,无论用户点击的有多快,我们都是每隔1秒统计一次点击次数。
1 | const { fromEvent, throttleTime, scan } = rxjs; |
设置最大并发请求数
mergeMap
with concurrency
参数可以设置最大并发请求数,下面的例子展示了如何设置最大并发请求数。
1 | import { interval, mergeMap, of } from 'rxjs'; |
避免重复请求
使用switchMap
可以避免重复请求,下面的例子展示了如何避免重复请求。
忽略某个值
使用skip
, 以下代码忽略了interval
的前两个值,然后取3个值。所以忽略0和1,取2, 3, 4。关于interval的详细信息,请看这里
1 | import { interval, skip, take } from 'rxjs'; |