我有參數類型Future[List[MyRes]]
的方法。 MyRes
有兩個選項字段id
和name
。現在我想創建地圖id
和name
,如果兩者都存在。我能夠創建具有默認值的地圖,如下,但我不想有默認值,只是跳過空值的條目。根據Scala的未來列表的條件創建地圖
def myMethod(myRes: Future[List[MyRes]]): Future[Map[Long, String]] = {
myRes.map (
_.map(
o =>
(o.id match {
case Some(id) => id.toLong
case _ => 0L
}) ->
(o.name match {
case Some(name) => name
case _ => ""
})
).toMap)
有什麼建議嗎?
如何記錄無效的消息?第二種情況需要返回類型'map [Long,String]',但在我的情況下,它將只是'logger.warn(「...」)' –
@αƞjiβ請參閱我的更新回答。這是你問的嗎? – Dima
返回類型是'Future [List [AxiomResource]]'所以我們如何映射第一種情況。 –