我意识到这可能与Spray的目的背道而驰,但我想知道当使用HttpClient对象时,我是否可以发出请求块直到返回结果,而不是不阻塞的默认行为,然后再发出回调。
我简单地看了一下HttpClient的源代码,以为它是一个围绕着同步私有http客户端超类的akka角色,但事实似乎并非如此。
发布于 2013-06-07 03:40:53
spray客户端不就是返回一个scala Future吗?如果是这样,那么您应该能够这样做:
import scala.concurrent._
import duration._
val fut = ... //call spray here
val result = Await.result(fut, 5 seconds)这将在将来阻塞多达5秒,等待它完成。如果超时,将抛出异常,而不是获得结果。
https://stackoverflow.com/questions/16968916
复制相似问题