如何将 Function3 转换为并行命中 2 API 而不是 3 个或更多?

How to convert the Function3 to hit 2 API's in parallel instead of 3 or more?

我正在使用以下方式并行命中 3 个 API,因为我可以看到,如果你想命中更多 API,则有像 Function4、5、6 这样的函数,但是那里没有 Function2<..> 那么用什么来命中 2 API 呢?

Observable.zip(
        backendApi.getFCdata("","","",""),
        backendApi.getAKCountry(),
        backendApi.getRecyclerData("","",""),
        Function3<ResponseGetFCData, ResponseAK, List<ResponseMarket>, List<ResponseMarket>> { 
            fcData, akCountry, recyclerData ->

            // Your operation here

            return recyclerData
        })
        .observeOn(AndroidSchedulers.mainThread())
        .doOnSubscribe { /* Loading Start */ }
        .doOnTerminate { /* Loading End */ }
        .subscribe(
                { /* Successfully Synced */ },
                { /* Having error */ }
        )

2 API 的转换形式使用上面的例子会有很大的帮助。谢谢。

为此您必须使用 BiFunction。检查以下内容:

Observable.zip(
    backendApi.getFCdata("","","",""),
    backendApi.getRecyclerData("","",""),
    BiFunction<ResponseGetFCData, List<ResponseMarket>, List<ResponseMarket>> {
        fcData, recyclerData ->

    // Your operation here

    return recyclerData
})
.observeOn(AndroidSchedulers.mainThread())
.doOnSubscribe { /* Loading Start */ }
.doOnTerminate { /* Loading End */ }
.subscribe(
    { /* Successfully Synced */ },
    { /* Having error */ }
)