协程+Retrofit错误

32 篇文章 0 订阅
3 篇文章 0 订阅

前提:协程搭配Retrofit使用

1.Unable to create call adapter for XXX

2021-07-29 15:14:24.813 30395-30395/pers.jay.module_login W/System.err: java.lang.IllegalArgumentException: Unable to create call adapter for pers.jay.lib_global.http.WanResponse<pers.jay.lib_global.model.bean.User>
2021-07-29 15:14:24.813 30395-30395/pers.jay.module_login W/System.err:     for method WanService.login
2021-07-29 15:14:24.814 30395-30395/pers.jay.module_login W/System.err:     at retrofit2.Utils.methodError(Utils.java:54)
2021-07-29 15:14:24.814 30395-30395/pers.jay.module_login W/System.err:     at retrofit2.HttpServiceMethod.createCallAdapter(HttpServiceMethod.java:116)
2021-07-29 15:14:24.815 30395-30395/pers.jay.module_login W/System.err:     at retrofit2.HttpServiceMethod.parseAnnotations(HttpServiceMethod.java:67)
2021-07-29 15:14:24.815 30395-30395/pers.jay.module_login W/System.err:     at retrofit2.ServiceMethod.parseAnnotations(ServiceMethod.java:39)
2021-07-29 15:14:24.815 30395-30395/pers.jay.module_login W/System.err:     at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:202)
2021-07-29 15:14:24.815 30395-30395/pers.jay.module_login W/System.err:     at retrofit2.Retrofit$1.invoke(Retrofit.java:160)
2021-07-29 15:14:24.816 30395-30395/pers.jay.module_login W/System.err:     at java.lang.reflect.Proxy.invoke(Proxy.java:913)
2021-07-29 15:14:24.816 30395-30395/pers.jay.module_login W/System.err:     at $Proxy0.login(Unknown Source)
2021-07-29 15:14:24.816 30395-30395/pers.jay.module_login W/System.err:     at pers.jay.module_login.LoginModel$login$1.invokeSuspend(LoginModel.kt:17)
2021-07-29 15:14:24.817 30395-30395/pers.jay.module_login W/System.err:     at pers.jay.module_login.LoginModel$login$1.invoke(Unknown Source:10)
2021-07-29 15:14:24.817 30395-30395/pers.jay.module_login W/System.err:     at pers.jay.library.base.repository.BaseRepository$requestOnFlow$1.invokeSuspend(BaseRepository.kt:22)
2021-07-29 15:14:24.817 30395-30395/pers.jay.module_login W/System.err:     at pers.jay.library.base.repository.BaseRepository$requestOnFlow$1.invoke(Unknown Source:10)
2021-07-29 15:14:24.817 30395-30395/pers.jay.module_login W/System.err:     at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
2021-07-29 15:14:24.818 30395-30395/pers.jay.module_login W/System.err:     at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:212)
2021-07-29 15:14:24.818 30395-30395/pers.jay.module_login W/System.err:     at kotlinx.coroutines.flow.internal.ChannelFlowOperatorImpl.flowCollect(ChannelFlow.kt:195)
2021-07-29 15:14:24.818 30395-30395/pers.jay.module_login W/System.err:     at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo$suspendImpl(ChannelFlow.kt:157)
2021-07-29 15:14:24.818 30395-30395/pers.jay.module_login W/System.err:     at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo(Unknown Source:0)
2021-07-29 15:14:24.818 30395-30395/pers.jay.module_login W/System.err:     at kotlinx.coroutines.flow.internal.ChannelFlow$collectToFun$1.invokeSuspend(ChannelFlow.kt:60)
2021-07-29 15:14:24.819 30395-30395/pers.jay.module_login W/System.err:     at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
2021-07-29 15:14:24.819 30395-30395/pers.jay.module_login W/System.err:     at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
2021-07-29 15:14:24.819 30395-30395/pers.jay.module_login W/System.err:     at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
2021-07-29 15:14:24.819 30395-30395/pers.jay.module_login W/System.err:     at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
2021-07-29 15:14:24.820 30395-30395/pers.jay.module_login W/System.err:     at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
2021-07-29 15:14:24.820 30395-30395/pers.jay.module_login W/System.err:     at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
2021-07-29 15:14:24.821 30395-30395/pers.jay.module_login W/System.err: Caused by: java.lang.IllegalArgumentException: Could not locate call adapter for pers.jay.lib_global.http.WanResponse<pers.jay.lib_global.model.bean.User>.
2021-07-29 15:14:24.821 30395-30395/pers.jay.module_login W/System.err:   Tried:
2021-07-29 15:14:24.821 30395-30395/pers.jay.module_login W/System.err:    * retrofit2.CompletableFutureCallAdapterFactory
2021-07-29 15:14:24.821 30395-30395/pers.jay.module_login W/System.err:    * retrofit2.DefaultCallAdapterFactory
2021-07-29 15:14:24.821 30395-30395/pers.jay.module_login W/System.err:     at retrofit2.Retrofit.nextCallAdapter(Retrofit.java:272)
2021-07-29 15:14:24.821 30395-30395/pers.jay.module_login W/System.err:     at retrofit2.Retrofit.callAdapter(Retrofit.java:237)
2021-07-29 15:14:24.821 30395-30395/pers.jay.module_login W/System.err:     at retrofit2.HttpServiceMethod.createCallAdapter(HttpServiceMethod.java:114)
2021-07-29 15:14:24.821 30395-30395/pers.jay.module_login W/System.err: 	... 22 more

原因:service中方法未加"suspend" 关键字,哎就是这么离奇。
解决:方法加"suspend" 关键字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值