Given a method that returns a Future like this...
def remove(id: String): Future[Option[User]] = Future {
// removes and returns the user identifi
Here it is:
import concurrent._, ExecutionContext.Implicits._
import java.util.concurrent.atomic._
val count = new AtomicInteger(10)
def f(s: String) = Future {
if (count.decrementAndGet <= 0) None else Some(s)
}
Iterator continually {
f("hello")
} takeWhile {
Await.result(_, duration.Duration.Inf).nonEmpty
} foreach { _.map { _.map {
println
}}
I hope it helps.