带有大对象元素数组的Rxjs后端循环带有observable

Rxjs with big abject element array back-end loop with observable

本文关键字:后端 observable Rxjs 循环 数组 对象 元素      更新时间:2023-09-26

我创建了一个简单的数字数组,并使用rxjs来管理UI和后端循环,下面是我的代码:

var array100 = new Array(9703)
  .fill('x')
  .map((v, i) => i);
 Rx.Observable.from(array100)
  .delayWhen(function(v){return Rx.Observable.timer(v*50)})
  .buffer(Rx.Observable.timer(250, 250))
  .subscribe(chunk => {
    console.log('chunk ', chunk);
  });
在创建这个示例应用程序之后,我试图将它与一些大的对象元素数组一起带到我的应用程序中,以处理UI和后端循环。但当我试图使用它的数组可以观察到,但它不是块数组。它传递该方法而不进行分块处理。我也无法调试它…

在RxJS中这是如何实现的?

我建议您仔细查看所提供的操作符。很多你想要创建的功能已经可用了。

要延迟数组元素的释放,可以使用:.flatMap(val => Rx.Observable.just(val).delay(50)/*ms*/)

对于分块数组,您可以使用计数(如果定时不是问题).bufferWithCount(50)/*elements per chunk */,定时.bufferWithTime(250/*ms*/)或两者结合(.bufferWithTimeOrCount(250 /*ms*/, 50 /*elements */)

)