【问题标题】:Two Single into one chain rxjava2两个单入一链rxjava2
【发布时间】:2018-01-25 09:46:26
【问题描述】:

我有两个单身:

getFile.execute(id)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeOn(Schedulers.io())
                .subscribeBy(
                        onSuccess = { fileInfo ->
                            with(fileInfo) {
                                update(id, url, email)
                            }
                        },
                        onError = {
                            view?.showError()
                        }
                )

和:

private fun update(id: Long, url: String, email: String) {
        save.execute(FileInfo(id, url, email))
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeOn(Schedulers.io())
                .subscribeBy(
                        onSuccess = {
                            view?.onUpdateSuccess()
                        },
                        onError = {
                            view?.showUpdateError()
                        }
                )
    }

您可以从第一个结果中看到第二个一次性使用数据。我可以将这两个 Single 合并为一个链吗?

【问题讨论】:

  • 使用flatMap() 运算符。

标签: android rx-java2


【解决方案1】:

您可以使用flatMap 链接Singles。

getFile.execute(id)
    .flatMap({fileInfo -> save.execute(fileInfo)})
    .subscribeOn(Schedulers.io())
            .subscribeBy(
                    onSuccess = {
                        view?.onUpdateSuccess()
                    },
                    onError = {
                        view?.showUpdateError()
                    }
            )

【讨论】:

    猜你喜欢
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 1970-01-01
    相关资源
    最近更新 更多