// redis.get(key) returns a Option[A]
redis.get(key).map(x => Try(x.toInt)).map(counter => doSomething(counter))
我收到错误,因为doSomething想要一个Int,但我传递了一个Try [Int]。
我认为Try上的映射会将其删除,但它似乎无法正常工作。
我在这里缺少什么?
答案 0 :(得分:3)
Parens在错误的地方。正如Michael Zajac所说,你正在映射Option
,而不是Try
。
修正:
redis.get(key).map(x => Try(x.toInt).map(counter => doSomething(counter)))
答案 1 :(得分:0)
BTW您也可以像这样写上面的表达式。尝试将为您捕捉异常。
Try(redis.get(key).get.toInt)