小编erh*_*ise的帖子

RxJS 限制相同的值但让新值通过

“给你”,有人说,你得到了这个输入的值流,你有点想对它做 distinctUntilChanged() ......

Input:  '1-1----11---2--1122----1---2---2-2-1-2---|'
Output: '1-----------2--1-2-----1---2-------1-2---|'
Run Code Online (Sandbox Code Playgroud)

到目前为止没有什么奇怪的,
但是现在有人说如果相同的值再次出现“没关系”,“但前提是不会很快!”。我希望至少'----'在相同的值之间有刻度。“Okey”你说,你加了一个油门

const source = new Subject<number>();

// mysterious cave troll is randomly source.next(oneOrTwo)

const example = source.pipe(throttle(val => interval(4000)));

Input:  '1-1----11---2--1122----1---2---2-2-1-2-----|'
Output: '1------1----2----2-----1-------2-----2-----|'
Run Code Online (Sandbox Code Playgroud)

“这不是我想要的!看看你错过的所有价值”,指的是你对所有正在传输的价值进行节流。

Input:  '1-1----11---2--1122----1---2---2-2-1-2-----|'
Output: '1------1----2----2-----1-------2-----2-----|'
        '-------------->1<--------->2<----->1<------|' <-- Missed values
Run Code Online (Sandbox Code Playgroud)

“来,让我给你看看”神秘人说,并给了你这个

想要的输出

Input:  '1-1----11---2--1112----1---2---2-2-1-2-----|'
Output: '1------1----2--1--2----1---2-----2-1-------|'
Run Code Online (Sandbox Code Playgroud)

我对此的回答是,感觉组合窗口行不通。

从更有经验的人
那里这是一个很难解决的问题吗?(或者我错过了一个明显的解决方案)

throttling operators rxjs

6
推荐指数
2
解决办法
1127
查看次数

标签 统计

operators ×1

rxjs ×1

throttling ×1