【发布时间】:2013-04-05 13:27:41
【问题描述】:
举个例子:
val handler : Connection = new DatabaseConnectionHandler()
val result : Future[Future[Future[Option[ResultSet]]]] = handler.connect
.map( (parameters) => handler )
.map( connection => connection.sendQuery("BEGIN TRANSACTION SERIALIZABLE") )
.map( future => future.map( query => query.rows ) )
.map( future => handler.sendQuery("COMMIT").map( query => future ) )
是否可以将其展平以在末尾接收Future[Option[ResultSet]],而不是在 Scala 的未来结构中的未来中接收这个未来?
我目前正在使用 Scala 的 2.10 Future 和 Promise,但我找不到解决方法。我知道我可以使用嵌套回调,但我宁愿避免这样做,因为代码看起来很糟糕。
Connection 特征定义为 here。
【问题讨论】:
标签: scala asynchronous future