Javascript Rxjs具有大的可观察元素阵列后端环路

Javascript Rxjs具有大的可观察元素阵列后端环路,javascript,arrays,rxjs,observable,Javascript,Arrays,Rxjs,Observable,我创建了简单的数字数组,并使用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

我创建了简单的数字数组,并使用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*/)

对于数组的分块,可以使用count(如果计时不是问题)
.bufferWithCount(50)/*元素/分块*/
,计时
.bufferWithTime(250/*ms*/)
或两者的组合(
.bufferWithTimeOrCount(250/*ms*/,50/*元素*/)