消息关闭
    暂无新消息!
在使用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)

3个回答

︿ 2
一个subscriber接受事件会被标记为done,已结束。所以不能再次使用。如果你想要这么使用的话使用unsafeSubscribe的方法进行订阅,或则重新新建subscriber对象。(以上根据上面德假设,手快发出去还不能编辑