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

2023-12-10

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

我知道该怎么做,但我想知道是否有比..更简洁的东西

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

thanks

输出是..

"one"

"two"

"three"

"one"

"two"

"three"

etc

EDIT:

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

Observable.interval(1000).map(i => MY_ARRAY[i % MY_ARRAY.length])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐