改造/ RxJava调度程序

问题描述 投票:0回答:1

我有运行网络调用的波纹管代码行来检索令牌:

service.token(initAuth()).blockingGet()

令牌功能具有以下定义:func token : Single<Token>

从理论上讲,调用需要在主线程中进行,因为使用RxJava2CallAdapterFactory.create()创建的修改,根据定义在mainThread中运行所有请求,因此我对刷新/获取令牌的调用需要触发NetworkOnMainThreadException whish并非如此。看起来这些行为是由于对blockingGet的调用,但文档没有声明使用了特定的线程。

在特定的调度程序上,blockingGet默认不运行

哪个让我问另一个线程然后mainThread如何调用

multithreading retrofit2 rx-java2 scheduler
1个回答
0
投票

因为在我的示例应用程序中,我有2个网络调用一个来检索汽车而另一个用于检索令牌。不知何故,Retrofit存储用于汽车呼叫的调度程序并将其用于令牌调用。

汽车定义:

.cars()
.subscribeOn(schedulerProvider.io())
© www.soinside.com 2019 - 2024. All rights reserved.