【发布时间】:2018-11-06 05:18:30
【问题描述】:
我正在尝试在我的项目中摆脱 RxJava2 并用 kotlin 协程替换它。我 90% 的 RxJava 代码不再存在,但我仍然无法替换一个网络请求。 用户可以在我的应用程序中将照片发送到后端(使用改造的多部分表单数据请求)。如果尚未加载,用户也可以取消照片上传。使用 RxJava,我可以保留上传请求的 Disposable 对象,如果尚未处理,如果用户单击取消上传按钮,我可以处理它。由于此操作,网络请求也被取消。所以我们可以节省一些用户流量和电池。 是否可以使用 kotlin 协程实现相同的逻辑?在官方文档中,协程取消是合作的,我们需要在循环中(或在文件部分发送之间)使用一些挂起函数来停止协程。 那么是 RxJava 是更好的选择还是我错过了什么?
【问题讨论】:
标签: android networking kotlin kotlinx.coroutines