试图插入couchbase中并且具有可观察到的返回类型但想要单声道,因此执行了此操作。
它可以编译,但在运行时会永远停留在转换阶段(即Mono.from {obs})。
fun saveScopeId(scopeId: ScopeId): Mono<ScopeId> {
val obs = scopeRepository.couchbaseOperations.insert(scopeId)
return Mono.from<ScopeId> { obs }
}
最佳答案
Observable可以生成多个值,但是如果可以保证它将是一项(我想这就是为什么要在此处使用Mono
的原因),则可以按以下方式使用Mono.fromDirect
:
Mono.fromDirect(yourObservable.toFlowable(BackpressureStrategy.BUFFER));
在示例中可以看到,使用了toFlowable
方法。您应该看到其他反压策略:here
关于java - 在Kotlin中从Observable转换为Mono,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62767090/