gpt4 book ai didi

android - 如何将 RxTextView switchMap 与 Flowable 数据一起使用?

转载 作者:搜寻专家 更新时间:2023-11-01 09:35:45 24 4
gpt4 key购买 nike

去抖搜索输入值,我想使用 switchMap()使用返回 Flowable<List<T>> 的方法我已经使用@Maxim Ostrovidov 的建议编辑了我的代码,现在使用 debounce我添加了 3 行,因为想要遍历列表转换为其他时间并接收列​​表,但不起作用。我在其他情况下使用了这 3 行,但不适用于 debounceswitchMap

.flatMapIterable(items -> items)
.map(Product::fromApi)
.toList()




subscription = RxTextView.textChangeEvents(searchInput)
.toFlowable(BackpressureStrategy.BUFFER)
.debounce(400, TimeUnit.MILLISECONDS)
.observeOn(Schedulers.computation())
.switchMap(event -> getItems(searchInput.getText().toString()))
.flatMapIterable(items -> items)
.map(Product::fromApi)
.toList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(/../);

最佳答案

因为没有Observable.switchMapFlowable运算符yet ,您必须使用 toObservabletoFlowable 手动转换您的流(取决于您最终计划获得的流类型):

// Observable stream
RxTextView.textChangeEvents(searchInput)
.debounce(300, TimeUnit.MICROSECONDS)
.switchMap(event -> yourFlowable(event).toObservable())
...

// Flowable stream
RxTextView.textChangeEvents(searchInput)
.toFlowable(BackpressureStrategy.BUFFER) //or any other strategy
.debounce(300, TimeUnit.MICROSECONDS)
.switchMap(event -> yourFlowable(event))
...

关于android - 如何将 RxTextView switchMap 与 Flowable 数据一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43334099/

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