0
Help us understand the problem. What are the problem?

posted at

updated at

Organization

【Kotlin】suspend関数の呼び出しをMonoに変換する【Reactor】

kotlinx.coroutines.reactor.mono関数を使うのが簡単だと思います。
サンプルコードは以下の通りです。

import kotlinx.coroutines.delay
import kotlinx.coroutines.reactor.mono

suspend fun foo(): String { println("foo"); delay(100); return "foo" }

fun main() {
    val result = mono { foo() }.block()
    println(result)
}

詳しくは以下のドキュメントをご覧下さい。

使い所

Javaで定義された関数が引数としてMonoを要求していた際に使えます。
また、Monoへの変換(ラップ)処理は非suspend関数からも呼べるため、JavaプロジェクトからKotlinで書かれたライブラリを呼ばなければならない際のグルーコード作成にも使えます。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?