0
Im新的斯卡拉,我正在使用噴霧發佈請求到服務器。如果這個問題在某種程度上存在,那麼提前道歉。我真的很感激,如果有人能告訴我如何做到這一點,或什麼我做錯了。我想要做的是:斯卡拉順序發佈使用無需等待理解
- 帖子的請求,並得到一個未來[的HttpResponse]
- 不使用等待(因爲我不想阻塞線程),檢查響應代碼
- 如果它的狀態碼大於400,則更改數據並重新發布數據並返回Future [HttpResponse],而不做任何進一步處理。
- 如果步驟2中的狀態碼好,然後返回未來[的HttpResponse]從第2步
這是我到目前爲止,這似乎並沒有給我,如果狀態響應代碼很好,但是在服務器上完成它的工作。如果我重試相同的請求,我會得到第一個顯示的結果,即404,而我期望第一個返回404,第二個修復數據並重發請求,並獲得未來的響應。
def post(headers:HttpHeader, data:HttpEntity): Future[HttpResponse] = {
...
}
def secondPost(headers:HttpHeader, data:HttpEntity): Future[HttpResponse] = {
// fix up data and repost
post(newHeaders, newData)
}
for{
first <- post(headers, data)
if first.status.intValue > 400
second < secondPost(headers, data)
} yield {
if (first.status.intvalue > 400) second else first
}
任何幫助,非常感謝。由於
乾杯
尤金喜來做到這一點。像魅力伴侶一樣工作:)欣賞它 – Josh 2014-09-28 21:58:09