Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我意识到这可能与 Spray 的目的背道而驰,但我想知道是否在使用 HttpClient 对象时,我可以在返回结果之前进行请求阻塞,而不是默认行为不阻塞并稍后发出打回来。
我简要地查看了 HttpClient 的源代码,认为它是一个围绕同步私有 http 客户端超类的 akka 演员,但事实并非如此。
喷雾 HTTP 客户端不只是返回一个 scalaFuture吗?如果是这样,那么你应该能够做到:
Future
import scala.concurrent._ import duration._ val fut = ... //call spray here val result = Await.result(fut, 5 seconds)
这将阻止未来长达 5 秒,等待它完成。如果超时,将抛出异常而不是得到结果。