Comment puis-je aplatir cette structure Future [T]?

Donné l'exemple suivant:

  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 ) )

Est-il possible pour l'aplatir pour recevoir un Future[Option[ResultSet]] à la fin à la place de cette future à l'intérieur d'un avenir à l'intérieur d'une future structure en Scala?

Je suis actuellement en utilisant Scala 2.10 Avenir et de Promesses, mais je ne peux pas trouver un moyen de. Je sais que je peux imbriquer les rappels, mais je préférerais éviter que depuis que le code va être horribles.

La Connection trait de caractère est défini ici.

source d'informationauteur Maurício Linhares