title: .zip three futures in Scala
body: <p>I need the <code>result</code> variable below to contain <code>Future[(String,String,String)]</code> with the result of futures <code>f1</code>, <code>f2</code> and <code>f3</code>, but instead I'm getting <code>Future[((String, String), String)]</code>. I need the three futures to run in parallel. How to make this work? </p>
  
  <pre><code>  def futureA = Future { "A" }
    def futureB = Future { "B" }
    def futureC = Future { "C" }
  
    def futureFunc = {
  
         val cond1 = 1
         val cond2 = 0
  
         val f1 = if (cond1 &gt; 0) 
               futureA
         else 
               Future {""} 
  
         val f2 = if (cond2 &gt; 0) 
               futureB
         else 
               Future {""} 
  
         val f3 = futureC
  
         val fx = f1.zip(f2)
  
         val result = fx.zip(f3)
  
    }
  </code></pre>