0

我意识到这可能与 Spray 的目的背道而驰,但我想知道是否在使用 HttpClient 对象时,我可以在返回结果之前进行请求阻塞,而不是默认行为不阻塞并稍后发出打回来。

我简要地查看了 HttpClient 的源代码,认为它是一个围绕同步私有 http 客户端超类的 akka 演员,但事实并非如此。

4

1 回答 1

1

喷雾 HTTP 客户端不只是返回一个 scalaFuture吗?如果是这样,那么你应该能够做到:

import scala.concurrent._
import duration._

val fut = ... //call spray here
val result = Await.result(fut, 5 seconds)

这将阻止未来长达 5 秒,等待它完成。如果超时,将抛出异常而不是得到结果。

于 2013-06-06T19:40:52.707 回答