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 クライアントは scala を返すだけではありませんFutureか? もしそうなら、あなたはただできるはずです:
Future
import scala.concurrent._ import duration._ val fut = ... //call spray here val result = Await.result(fut, 5 seconds)
これにより、未来が完了するまで最大 5 秒間ブロックされます。タイムアウトした場合、結果を取得する代わりに例外がスローされます。