bug(throttle): 在源完成时不发出最后一个值
作者: benlesh创建于 2020年9月15日更新于 2026年7月25日
标签bug
`throttleTime(n, s, config)` 应该等价于 `throttle(() => timer(n, s), config)` ... 但事实并非如此。问题在于 `throttle` 在 `source` 完成时的行为不正确。如果 `source` 完成,我们处于`trailing`状态,并且已经有了一个尾值,结果应该等待节流时间结束,然后发出最后一个值,然后完成结果。如果 `source` 完成,并且我们没有尾值 - 或者我们不是处于`trailing`状态 - 结果应该完成。
内容来源: ReactiveX/rxjs