aboutsummaryrefslogtreecommitdiffstats
path: root/integration/kotlinx-coroutines-jdk8/test/examples/simple-example-2.kt
diff options
context:
space:
mode:
Diffstat (limited to 'integration/kotlinx-coroutines-jdk8/test/examples/simple-example-2.kt')
-rw-r--r--integration/kotlinx-coroutines-jdk8/test/examples/simple-example-2.kt22
1 files changed, 22 insertions, 0 deletions
diff --git a/integration/kotlinx-coroutines-jdk8/test/examples/simple-example-2.kt b/integration/kotlinx-coroutines-jdk8/test/examples/simple-example-2.kt
new file mode 100644
index 00000000..0be80fc0
--- /dev/null
+++ b/integration/kotlinx-coroutines-jdk8/test/examples/simple-example-2.kt
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
+ */
+
+package kotlinx.coroutines.examples
+
+import kotlinx.coroutines.*
+import kotlinx.coroutines.future.*
+import java.util.concurrent.*
+
+// this function returns a CompletableFuture using Kotlin coroutines
+fun supplyTheAnswerAsync(): CompletableFuture<Int> = GlobalScope.future {
+ println("We might be doing some asynchronous IO here or something else...")
+ delay(1000) // just do a non-blocking delay
+ 42 // The answer!
+}
+
+fun main(args: Array<String>) {
+ // We can use `supplyTheAnswerAsync` just like any other future-supplier function
+ val future = supplyTheAnswerAsync()
+ println("The answer is ${future.get()}")
+}