В следующем примере:
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 and Promise, но я не могу найти способ этого. Я знаю, что могу использовать вложенные обратные вызовы, но я бы предпочел избежать этого, так как код будет выглядеть ужасно.
Показатель Connection
определяется здесь.