gpt4 book ai didi

rx-java - 如何在 RxJava 中制作冷单 'hot'

转载 作者:行者123 更新时间:2023-12-05 09:15:49 25 4
gpt4 key购买 nike

我有一些代码可以发出网络请求并为每个请求返回一个 Single

public Single<Response> getSomeData(String endpoint)    
{
return Single.fromCallable(makeNewRequest(endpoint));
}

只要调用者实际 subscribes() 到返回的 Single 就有效。然而在某些特定情况下(对于 POST 请求),调用者对结果不感兴趣,并且从不调用 subscribe()

由于 fromCallable() 将执行推迟到订阅时间,这意味着请求实际上不会被执行。

问题:将这个(冷的)Single 转换为热的正确(惯用)方法是什么,以便立即执行网络请求,而不管调用者是否调用 订阅() ?

最佳答案

我会说你需要 publish运算符结合 connect .在此之前,您需要使用 toObservable()Single 转换为 Observable

此外,请注意,如果调用者对实际结果不感兴趣,则可能是 Completable套房更好。您可以使用 toCompletable()

Single 转换为 Completable

关于rx-java - 如何在 RxJava 中制作冷单 'hot',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51673009/

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