2016-11-18 2 views
-2

Я создал простой массив чисел и использовать rxjs для управления UI и циклом бэкэнда Ниже приведен мой код:Rxjs с большой петлей жалкого элемента массива бэкэнда с наблюдаемым

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); 
    }); 

после создания этого примера приложения я попытался чтобы применить это к моему приложению с помощью большого массива abject элементов для обработки пользовательского интерфейса и контура бэкэнд. но когда я пытаюсь использовать его, массив можно наблюдать, но он не разбивает массив. он передает метод без chunking. Я не могу отлаживать его также.

Как это достигается в RxJS?

ответ

1

Я бы посоветовал вам взглянуть на поставляемых операторов. Уже есть много возможностей, которые вы пытаетесь создать.

Для задерживая излучение элементов из вашего массива вы можете использовать: .flatMap(val => Rx.Observable.just(val).delay(50)/*ms*/)

Для отрывов вашего массива можно использовать счетчик (если сроки не проблема) .bufferWithCount(50)/*elements per chunk */, время .bufferWithTime(250/*ms*/) или оба вместе взятые (.bufferWithTimeOrCount(250 /*ms*/, 50 /*elements */)

Смежные вопросы