gpt4 book ai didi

javascript - 如何重复 ajax 请求,直到满足 RxJS Observable 的条件?

转载 作者:数据小太阳 更新时间:2023-10-29 05:53:59 25 4
gpt4 key购买 nike

我正在尝试重复请求,直到响应包含使用 RxJS 的数据,此时我想调用成功(或失败)处理程序,但我在使用 RxJS 时遇到了麻烦。这是我目前的做法:

// ... redux-observable action observable
.mergeMap(() =>
fetchData()
.repeatWhen(response =>
response.takeWhile(({ data }) => !data.length)
.of(response)
)
)
.map(successFunction)
.catch(failureFunction);

免责声明:我对 RxJS 很陌生....

最佳答案

按一个时间间隔重复请求、过滤其结果并进行一次发射会更简单。

Observable.timer(0, 500)
.flatMap(() => fetchData())
.filter(r => r.data && r.data.length)
.take(1)
.timeout(10000)

http://jsbin.com/cafericore/1/edit?js,console

关于javascript - 如何重复 ajax 请求,直到满足 RxJS Observable 的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43400594/

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