我有一些冷的 RxJs Observable,我想在某些事件 click$ 发出时刷新并再次从服务器获取数据。
let files$ = param$.pipe(
param => http.getFolder(param),
folder => http.getFolderFiles(folder),
REPEAT_ON(click$)
takeUntil(this.destroy$)
)
我应该使用什么运算符而不是想象中的 REPEAT_ON 运算符?
我可以用这段代码实现这个
let files$ = combineLatest(param$, click$.pipe(startsWith(undefined))).pipe(
param => http.getFolder(param[0]),
folder => http.getFolderFiles(folder),
takeUntil(this.destroy$)
)
但它闻起来很糟糕,我认为 combineLatest 不适用于我的用例。
最佳答案
combineLatest
没有问题,但我认为您要查找的是 repeatWhen
运算符。
const array$ = Observable.from(["arr1", "arr2", "arr3", "arr4"]).do(console.log);
const click$ = Observable.fromEvent(document, 'click');
array$
.repeatWhen(() => click$)
.subscribe();
关于javascript - RxJs 重复事件链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52814098/