如何使用Kotlin协程从延期的未来创建一个Observable

时间:2018-11-08 14:46:44

标签: kotlin rx-java observable kotlinx.coroutines

我正在尝试使用带有协程的期货创建一个Observable。

这是我尝试过的:

private fun getHelloObservable(): Observable<String>{
        val deferred = GlobalScope.async {
            "Hello"
        }

        return Observable.just(deferred.await())
    }

但是出现以下错误:

  

挂起功能“ await”只能从协程或   另一个暂停功能。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:4)

您可以使用kotlinx-coroutines-rx2桥接到反应世界:

rxSingle { deferred.await() }

从那里调用真实的toObservable()就很简单。