title: Zip network requests via Kotlin Coroutine Flow
body: <p>I have a code which zips two network requests via RxJava:</p>
  
  <pre><code>Single.zip(repository.requestDate(), repository.requestTime()) {
    date, time -&gt; Result(date, time)
  }
  </code></pre>
  
  <p>it means that <code>repository.requestDate()</code>/<code>repository.requestTime()</code> returns <code>Single&lt;T&gt;</code></p>
  
  <p>If I want to use Coroutines I need to change requests to:</p>
  
  <pre><code>@GET('link/date')
  suspend fun requestDate() : Date
  
  @GET('link/time')
  suspend fun requestTime() : Time
  
  </code></pre>
  
  <p>But, <strong>How can I zip requests via Flow from Kotlin Coroutines?</strong></p>
  
  <p>I know that I can do it like this:</p>
  
  <pre><code>coroutineScope {
     val date = repository.requestDate()
     val time = repository.requestTime()
     Result(date, time)
  }
  </code></pre>
  
  <p><strong>But I want to do it via Flow!</strong></p>
  
  <p>I know about Channels, but <code>Channels.zip()</code> is deprecated.</p>