gpt4 book ai didi

rx-java - 如何将 OnComplete 和 OnError 事件作为可观察项发出?

转载 作者:行者123 更新时间:2023-12-04 15:55:53 25 4
gpt4 key购买 nike

我想从发出 Completable 的 OnErrorOnComplete 事件的 Completable 创建 Observable

事件示例:

    private sealed class Result {

class Success : Result()

class Error(val errorMessage: String) : Result()
}

OnError 事件应映射到 ErrorOnComplete 应映射到 Success

我理解如果 observable 发出错误事件时如何发出 Error:

val completable = ...
completable.
.toObservable<Result>()
.onErrorReturn { error -> Result.Error(error.message.orEmpty()) }

但我找不到发出 OnComplete 事件的解决方案。是否可以使用标准的 RxJava 运算符?

最佳答案

利用.materialize()功能。

例如像这样:

Completable.complete()
.toObservable<Result>()
.materialize()
.map {
when {
it.isOnError -> 1
it.isOnComplete -> 0
else -> 2 // not present in Completable
}
}

关于rx-java - 如何将 OnComplete 和 OnError 事件作为可观察项发出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51701098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com