3
阻止壞,異步好,但阻止未來仍阻止?這是我不斷回來的東西;考慮下面的僞代碼:阻擋未來嗎?
def queryName(id:Id):Future[String]
def queryEveryonesNames:Future[Seq[String]] = {
val everyonesIds:Future[Seq[Id]] = getIds
val everyonesNames:Future[Seq[Future[String]]] = {
everyonesIds.map(seq.map(id=>queryName(id)))
}
// I'm trying to understand the impact of what I'll do below
everyonesNames.map(seq=>seq.map(fut=>blocking(fut, 1 s)))
}
queryEveryonesNames
在最後一行中我轉向Future[Seq[Future[String]]]
由上內未來阻斷成Future[Seq[String]]
(內未來注意到未來)。
對未來的封鎖感到多餘,至少在這裏,至少在這裏,未來的未來也是多餘的。
你能否提出一種擺脫內在未來的更聰明的方法?
您是否認爲阻礙未來內部的未來並不好?如果是這樣,爲什麼在什麼情況下?
你應該得到相同的結果只用'in.flatMap(Future.sequence )' – paradigmatic
@paradigmatic,謝謝!編輯補充說。 –
「未來」伴侶對象有一些非常有用的方法,謝謝你介紹它。乾杯! –