最近在开发上传进度的时候须要一个模仿数据:模仿距离发送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
的值。~~~~