相关疑难解决方法(0)

RxJS5随着时间的推移发出数组项并永远重复

我想随着时间的推移(每次发射之间间隔一秒钟)发射数组项,并且当所有项目都发射完后,重复一遍又一遍。

我知道该怎么做,但我想知道是否还有比..更简洁的内容。

const MY_ARRAY = ['one','two','three'];
const item$ = Rx.Observable.interval(1000).take(MY_ARRAY.length).repeat().map(x => MY_ARRAY[x]);
item$.subscribe(x => console.log(x));
Run Code Online (Sandbox Code Playgroud)

谢谢

输出是..

“一”

“二”

“三”

“一”

“二”

“三”

等等

编辑:

ATOW,这里的答案总结为..

const ARR = ['one', 'two', 'three'];

// TAKE YOUR PICK THEY ALL DO THE SAME
const item$ = Rx.Observable.interval(1000).map(i => ARR[i % ARR.length]);
// const item$ = Rx.Observable.interval(1000).zip(ARR, (a, x) => x).repeat();
// const item$ = Rx.Observable.interval(1000).zip(ARR).repeat().map(x => x[1]);
// const item$ = Rx.Observable.interval(1000).take(ARR.length).repeat().map(i => ARR[i]);

item$.subscribe((x) => {
  console.log(x);
});
Run Code Online (Sandbox Code Playgroud)

rxjs rxjs5 angular

3
推荐指数
2
解决办法
743
查看次数

标签 统计

angular ×1

rxjs ×1

rxjs5 ×1