我有参数类型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]]'所以我们如何映射第一种情况。 –