期待未来的结果一秒钟没有阻塞

时间:2016-12-19 11:25:26

标签: multithreading scala

我正在进行API调用,我在1秒内阻塞等待结果:

 val status = Await.ready(Http(address OK as.String), 1 second)
 status onComplete

我想做同样但没有阻止。

所以我尝试了类似这样的东西,在那里我创造了另一个未来,让该线程暂停一小时,然后收集结果。

  val status: Future[String] = Http(address OK as.String)
  val waitForStatus: Future[String] = {
    Thread.sleep(1000)
    status.collect
  }

  val receiver = sender
  status onComplete {

然而,这不起作用:

 polymorphic expression cannot be instantiated to expected type;
[error]  found   : [S](pf: PartialFunction[String,S])(implicit executor: scala.concurrent.ExecutionContext)scala.concurrent.Future[S]
[error]  required: scala.concurrent.Future[String]
[error]         status.collect

而且我不确定它是否会阻塞。

那么,等待未来1秒钟的非阻塞方式是什么?

0 个答案:

没有答案