gpt4 book ai didi

java - Observable.zip 问题

转载 作者:太空狗 更新时间:2023-10-29 16:26:49 26 4
gpt4 key购买 nike

我使用 Retrofit 和 RxJava 从 Facebook 的两个页面下载帖子。我想通过 Observable.zip 下载它们,但我收到了 onError : An operation is not implemented: not implemented

我的代码:

    var fb1 = dataManager.getPosts(ApplicationConstants.FACEBOOK_PAGE_1, ApplicationConstants.FACEBOOK_APP_TOKEN, "70")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())


var fb2 = dataManager.getPosts(ApplicationConstants.FACEBOOK_PAGE_2, ApplicationConstants.FACEBOOK_APP_TOKEN, "70")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())

val observableZip : Observable<PostList> = Observable.zip(fb1,fb2, object: Function<PostList, PostList>, BiFunction<PostList, PostList, PostList> {
override fun apply(t: PostList): PostList {
}


override fun apply(t1: PostList, t2: PostList): PostList {
}

})

compositeDisposable.add(observableZip.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(
{result -> posts.addAll(result.data)},
{t : Throwable? -> Log.d("TAG",t?.message) },
{view.setAdapter(posts)
view.hideProgressBar()}
))

我不太明白如何制作 Observable.zip,因为 Internet 上的示例解释不清楚。

问:如何更改我的代码以使 Observable.zip 正常工作?

最佳答案

您的 zip 应该如下所示:

val observableZip : Observable<PostList> = Observable.zip(fb1,fb2, object : BiFunction<PostList, StriPostList, PostList> {
override fun apply(t1: PostList, t2: PostList): PostList {
// do the zipping
}
})
  1. 没有zip 参数类型为Function BiFunction。只有可观察对象列表,然后是一个 BiFunction(或者,一个单独的 ObservableSource 和一个普通的 Function)
  2. 使用 Rx 中的 BiFunction 很重要,因此请确保您使用的是 import io.reactivex.functions.BiFunction 不是 java.util.function.BiFunction

关于java - Observable.zip 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48203438/

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