gpt4 book ai didi

javascript - RxJs 重复事件链

转载 作者:行者123 更新时间:2023-11-30 14:20:33 25 4
gpt4 key购买 nike

我有一些冷的 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();

这是一个例子:https://codepen.io/anon/pen/EdbPoV

关于javascript - RxJs 重复事件链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52814098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com