Как создать Observable из отложенного будущего, используя сопрограммы Kotlin - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь создать Observable, используя Futures с сопрограммами.

Вот что я попробовал:

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

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

Но я получаю следующую ошибку:

Функция приостановки 'await' должна вызываться только из сопрограммы или другая функция приостановки.

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 08 ноября 2018

Вы можете использовать kotlinx-coroutines-rx2, чтобы соединиться с реактивным миром:

rxSingle { deferred.await() }

И оттуда так же просто, как позвонить toObservable(), чтобы получить Observable.

...