I am trying to run the following future basic code
future { println("ssss")} onSuccess{ case _ => println("succ")}
However, when I run the main method, nothing to the console is printed and the system exits almost instantly. I am using the implicit ExecutionContext. Any hints?
This code:
val f = future(Await.ready(Promise().future, d.timeLeft))
f.onSuccess {
case _ => println("hee")
}
also exits immediately....
Futures are executed on a dedicated thread pool. If your main program does not wait for the future, it will exit immediately and the future won't have a chance to execute.
What you can do here is to use Await
in your main program to block the main thread until the future executes:
def main( args: Array[String] ) {
val fut = future { println("ssss")}
fut onSuccess{ case _ => println("succ")}
Await.result( fut )
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With