diff options
Diffstat (limited to 'kotlinx-coroutines-core/jvm/test/guide/example-flow-28.kt')
-rw-r--r-- | kotlinx-coroutines-core/jvm/test/guide/example-flow-28.kt | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/kotlinx-coroutines-core/jvm/test/guide/example-flow-28.kt b/kotlinx-coroutines-core/jvm/test/guide/example-flow-28.kt new file mode 100644 index 00000000..15acb796 --- /dev/null +++ b/kotlinx-coroutines-core/jvm/test/guide/example-flow-28.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2016-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +// This file was automatically generated from coroutines-guide.md by Knit tool. Do not edit. +package kotlinx.coroutines.guide.flow28 + +import kotlinx.coroutines.* +import kotlinx.coroutines.flow.* + +fun foo(): Flow<String> = + flow { + for (i in 1..3) { + println("Emitting $i") + emit(i) // emit next value + } + } + .map { value -> + check(value <= 1) { "Crashed on $value" } + "string $value" + } + +fun main() = runBlocking<Unit> { + foo() + .catch { e -> emit("Caught $e") } // emit on exception + .collect { value -> println(value) } +} |