我是靠谱客的博主 无情大白,这篇文章主要介绍Retrofit2和kotlin协程碰撞问题记录,现在分享给大家,希望可以做个参考。

1、kotlin协程使用过程中一般会加入suspend关键字表明该方法需要单独线程处理
2、下载文件过程中如下

复制代码
1
2
3
@GET suspend fun downloadApk(@Url url: String): Call<ResponseBody>

在实际下载过程中会报错

复制代码
1
2
Unable 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协程碰撞问题记录内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部