过滤与时间

RxJS throttleTime

窗口开始时立即放行第一个值,窗口内后续值全部忽略。

throttleTime(300)

时间线如何变化

  1. 1
    A 立即输出

    A 打开第一个节流窗口。

  2. 2
    B 被忽略

    窗口尚未关闭。

  3. 3
    C 也被忽略

    throttleTime 不会重置当前窗口。

  4. 4
    D 打开新窗口

    上一个窗口结束后,第一个新值立即输出。

  5. 5
    E 被忽略

    最终只输出 A、D。

受支持的示例代码

实验室只根据下列示例中的关键操作符生成预设时间线,不执行任意输入代码。

import { fromEvent, throttleTime } from 'rxjs'

const clicks$ = fromEvent(button, 'click').pipe(
  throttleTime(300)
)

clicks$.subscribe(save)