林有一個問題從未來[JsValue]地圖和Flatmap未來[JsValue]
我試着地圖和Flatmap但我猜即時通訊做財產以後錯...
我有這樣的提取字符串值方法返回未來[JsValue]
val chunk: Future[JsValue] = BusinessLogic.Methods.getJsonValue(url)
如果我是地圖我得到一個未來[字符串]
val next: Future[String] = (chunk.map(_.\("paging").\("next").as[String]))
如果我使用平面地圖,我得到類型不匹配
val next = chunk.flatMap(x=>x.\("paging").\("next").as[String])
會有什麼正確的方法來提取價值?
感謝
你是什麼意思提取的價值?如果你想打開未來,你必須阻止(並根據你想做什麼,這可能是一個壞主意)。 'map'將未來的匿名函數的結果封裝起來,'flatMap'代替將來需要包裝結果,在這兩種情況下,返回類型都是'Future [T]'。 – 2014-12-01 21:01:14
我必須從未來獲取字符串值,以便將它傳遞給另一個字符串的方法 – MIkCode 2014-12-01 21:38:38
'next.map(otherFunctionThatTakesAString)' – Ryan 2014-12-01 22:04:26