【发布时间】:2021-01-24 22:14:51
【问题描述】:
我已经离开 Scala 有一段时间了,所以我试图重新回到习惯用法。我有三个数据库调用:
db.getInventory(inventoryId: UUID): Future[Option[Inventory]]
db.getInventoryFields(inventoryId: UUID): Future[Seq[InventoryField]]
db.allInputs: Future[Seq[Input]]
如果db.getInventory 是Some(inventory),我想通过给它一个初始化我的服务
CacheContext(inventory: Inventory, fields: Seq[InventoryField], inputs: Seq[Input])
但是如果是None,我想报错返回。
在这里使用for/map/flatMap/fold等的最佳组合是什么?
【问题讨论】:
-
通过“report an error”你是真的想抛出错误还是将错误推送到应用程序
标签: scala monads future optional