1

我正在使用 RxAlamofire 下载文件。我有这样的事情:

let downloadResult = download(request, to: destination)

不幸的是,downloadResult observable 在下载完成时不会发出下一个事件,它只会发出 onCompleted。

当下载完成到 flatMap 到下一个请求时,我需要下一个事件。目前我基于进度(下载进度> = 1)来发出我感兴趣的事件。

但我觉得这不是最好的解决方案,现在它可以工作,但我担心这种方法在某些情况下可能会失败。

你能提出一些建议吗?我错过了 RxAlamofire 下载 api 中的某些内容吗?

4

1 回答 1

0

也许是这样的?

Single<Void>.create { observer in
    return download(request, to: destination)
        .subscribe(onCompleted: {
            observer(.success(()))
        }, onError: {
            observer(.error($0))
        })
于 2017-12-29T10:24:21.563 回答