1、kotlin协程使用过程中一般会加入suspend
关键字表明该方法需要单独线程处理
2、下载文件过程中如下
复制代码
1
2
3@GET suspend fun downloadApk(@Url url: String): Call<ResponseBody>
在实际下载过程中会报错
复制代码
1
2Unable to create converter for retrofit2.Call<okhttp3.ResponseBody>
为啥?因为使用了suspend
关键字(最后才知道问题)
retrofit对suspend
的处理是视为同步操作,因此call就可以不需要了,可直接获取body数据。
复制代码
1
2
3@GET fun downloadApk(@Url url: String): Call<ResponseBody>//正常操作
或者
复制代码
1
2
3@GET suspend fun downloadApk(@Url url: String): ResponseBody//suspend关键字有额外处理
如此记录一下。。。。。避免再次踩坑
最后
以上就是无情大白最近收集整理的关于Retrofit2和kotlin协程碰撞问题记录的全部内容,更多相关Retrofit2和kotlin协程碰撞问题记录内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复