title: RxJS Observable.combineLatest never completes
body: <p>One of my <code>Observable.combineLatest</code> never completes because one of its observables never gets to emit a value, so the completion function is never reached.</p>
  
  <p>Is there a way so I can set a kind of a <code>timeOut</code> so after it I can provide a default value for it? or at least a way to tell which observable is not emiting any data at all?</p>
  
  <p>Something like</p>
  
  <pre class="lang-js prettyprint-override"><code>Observable.combineLatest(...).onTimeOut(() =&gt; console.log('No data from 3th observable')
  </code></pre>
  
  <p>Edit:</p>
  
  <p>So given this:</p>
  
  <pre class="lang-js prettyprint-override"><code>Observable.combineLatest(
    observable1, // &lt;- ok
    observable2, // &lt;- ok
    observable3, // &lt;- timeout
    observable4, // &lt;- ok
    observable5, // &lt;- ok
    (...args) =&gt; ({...args})
  )
  .pipe(
    timeout(1*1000),
    catchError((e) =&gt; {
      console.log(e)
      return Observable.of({})
    })
  )
  .subscribe(() =&gt; {})
  </code></pre>
  
  <p>How can I tell that observable3 was the responsible of the timeout?</p>