我创建了一个NetworkInterceptor
,但我发现当没有Internet连接时它并没有调用失败。
class NetworkInterceptor() : Interceptor {
@Throws(IOException::class)
override fun intercept(chain: Interceptor.Chain): Response {
if (!isNetworkConnected()) {
throw NoConnectivityException()
}
val builder: Request.Builder = chain.request().newBuilder()
return chain.proceed(builder.build())
}
}
isNetworkConnected()
函数起作用。我已经对其进行了单元测试。
我将其添加到HttpClient
okHttpClient: OkHttpClient = OkHttpClient.Builder()
.addInterceptor(NetworkInterceptor())
.build()
然后我这样拨打电话:
fun getUser(): User? {
val result = BackendApi.getService().getUser(userRequest).execute()
if(!result.isSuccessful) {
return null
}
...
}
我认为我在执行execute时需要做一些事情,但是迷路了。请帮忙。