RxJava+Retrofit文件下载代码在第二次下载时没有被调用是什么原因?

在使用RxJava+Retrofit进行文件下载,下面这段代码在第一个文件下载时,可以调用并下载成功,但在第二个文件下载时,没有被调用到,找了好久没有找到原因。(netWorkApi--是声明的Retrofit接口对象,里面是一些URL调用方法)

 netWorkApi.download(url)
                       .subscribeOn(Schedulers.io())
                       .unsubscribeOn(Schedulers.io())
                       .retryWhen(RetryWhenNetworkException())
                       .map(object : Func1<ResponseBody, Int> {
                           override fun call(responseBody: ResponseBody): Int {
                               Logger.t(TAG).d("write2File")
                               return write2File(responseBody, name)
                           }
                       }
                       )
                       .observeOn(AndroidSchedulers.mainThread())
                       .subscribe(downloadSubscriber)

5个回答

直接第一次调用的时候用第二次的URL看能否成功

抓包看下,第二次请求是否发出,收到的返回码是什么

应该是Subscriber复用导致的问题

问题已解决,多谢各位的热心回答

既然问题已经解决了,可以采纳我吗?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐