例如,我有一个每秒发出一个数字的 observable。我想将它们缓冲到数组中 4 秒。但是当源发出一个可以被 5 整除的数字时,我想立即发出它而不是缓冲它。
// emit value in sequence every 1 second
// 0,1,2,3,4,5...
const source = interval(1000);
// buffer values for 4 seconds
const buffered = source.pipe(
buffer(interval(4000)),
filter(x => x.length > 0)
);
const subscribe = buffered.subscribe(val => console.log(val));
我的预期结果是:
[0,1,2,3] // buffered and emitted after 4 seconds
[5] // emitted immediately
[4,6,7,8] // buffered and emitted after 4 seconds
[10] // emitted immediately
[9,11,12,13]
// ... and so on
Stackblitz:https ://stackblitz.com/edit/typescript-cdvc2d ? file = index.ts
一只甜甜圈
慕姐8265434
相关分类