【发布时间】:2019-12-13 01:30:39
【问题描述】:
我有一个以恒定数量增加的数字流,我想对其进行子采样。给定一个恒定样本interval,我想缓冲流,直到第一个和最后一个缓冲值之间的差异大于或等于interval。然后它会发出这个数组,与buffer 运算符非常相似。
我已经搜索了不同的 rxjs 运算符,但不知道如何使其工作。 bufferUntil 运营商将是完美的,但似乎不存在。我该如何实现?
例如:
const interval = 15;
//example stream would be: 5, 10 , 15, 20, 25, 30..
Observable.pipe(
bufferUntil(bufferedArray => {
let last = bufferedArray.length - 1;
return (bufferedArray[last] - bufferedArray[0] >= interval);
})
).subscribe(x => console.log(x));
//With an expected output of [5, 10, 15, 20], [ 25, 30, 35, 40],..
【问题讨论】:
标签: javascript rxjs