最近在开发上传进度的时候须要一个模仿数据:模仿距离发送 1 -100 之间的值。此须要在 RxJS 的反对下能够轻松的实现。代码如下:
let i = 0;
interval(100).pipe(take(100),
map(() => ++i)
).subscribe(data => console.log(data));
控制台如下:
最终的上传进度成果如下:
简略解释下上述代码:interval(100)
为 RxJS 的办法,示意距离 100ms
发送一次数据,take(100)
的作用是取前 100
个数据,从而达到了 100ms 发送一次数据,共发送 100 次的目标。map()
操作符用于数据转换,最终将 ++i
的值发送给上游,subscribe
订阅到的便是 ++i
的值。~~~~