Angular 发出最近的N个事件

Angular 发出最近的N个事件,angular,rxjs,Angular,Rxjs,在我的Angular 6应用程序中,我想显示来自web套接字的连续事件流中最近的N个事件 今天,视图显示了来自RxJS的数据可观察的: ... 该阵列包含最后N个事件,并在服务层中进行管理。不太好 如果可能的话,我想将其更改为有界RxJS队列--您能提供帮助吗?您应该能够使用scan操作符来实现您想要的: const{range}=rxjs; const{scan}=rxjs.operators; 常数N=4; 范围(0,10)。管道( 扫描((acc,值)=>[…acc.slice(1-

在我的Angular 6应用程序中,我想显示来自web套接字的连续事件流中最近的N个事件

今天,视图显示了来自RxJS的数据
可观察的


...
该阵列包含最后N个事件,并在服务层中进行管理。不太好


如果可能的话,我想将其更改为有界RxJS队列--您能提供帮助吗?

您应该能够使用
scan
操作符来实现您想要的:

const{range}=rxjs;
const{scan}=rxjs.operators;
常数N=4;
范围(0,10)。管道(
扫描((acc,值)=>[…acc.slice(1-N),值],])
).订阅(
value=>console.log(JSON.stringify(value))
);
。作为控制台包装{最大高度:100%!重要;顶部:0;}

您应该能够使用
scan
操作符实现您想要的功能:

const{range}=rxjs;
const{scan}=rxjs.operators;
常数N=4;
范围(0,10)。管道(
扫描((acc,值)=>[…acc.slice(1-N),值],])
).订阅(
value=>console.log(JSON.stringify(value))
);
。作为控制台包装{最大高度:100%!重要;顶部:0;}

您是否查看了
bufferCount
操作符?
bufferCount
操作符收集
n
事件并发出等,这些事件在任何时候都不会显示最后的
n
事件,@ingo。你看了
bufferCount
操作符了吗?
bufferCount
操作符收集
n
事件并发出等,它在任何时候都不会显示最后的
n
事件,@ingo。
<div *ngFor="let event of (wsEvents | async)">
...