![](/img/trans.png)
[英]How to define a default Action for any http method in Play 2.1 (Scala)?
[英]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.