簡體   English   中英

在Play的組合動作中流式傳輸HTTP響應! 框架2.1

[英]Streaming an http response within a composed action in Play! Framework 2.1

我正在使用Play Zentasks示例應用程序作為模板創建一個包裝其他操作的身份驗證操作。 在某些情況下,需要執行的一項操作是訪問Web服務,以檢索用戶的詳細信息。 我想以一種非阻塞的方式進行此操作,但我不想將未來傳遞給我正在包裝的操作。

我能想到的唯一方法是將Enumerator.fromStream()與從URL對象提取的InputStream一起使用。 我猜這不是最好的方法,因為這似乎是重復的工作(考慮ws對象)。 然而,異步ws api(和底層的asynchttpclient)會返回Future。 我認為沒有人以前解決過這個問題,並且可以指出我的另一個方向嗎? 有什么我想念的嗎? 另外,使用我建議的Enumerator.fromStream()絕對不會阻塞嗎?

提前致謝,

您可以使用異步WS API。 當它返回未來時,您可以在其上調用map,並將值傳遞給您要包裝的操作。 現在,您將擁有包含打包操作結果的未來。 將其轉換為AsyncResult或將整個內容包裝在Async {}塊中,它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM