title: RXJS Emit first result and then wait for another observable
body: <p>Currently I have two observables. One returns a list of clients and the other is fired when text changes.</p>
  
  <p>I would like to emit the full result of clients and then switch over to the inner observable once the user has started filtering. </p>
  
  <p>I'm also trying to achieve a debounce on the text being typed.    </p>
  
  <p>I've put together something that doesn't work to try and explain. As it currently is it only displays clients once I start typing text.    </p>
  
  <pre class="lang-js prettyprint-override"><code>let obs = Observable.fromPromise(this.clientService.getClients())
        .map((clients) =&gt; {
          return clients.map((c) =&gt; new Client().fromObject(c));
        });
  
      this.clients = obs.switchMap((values) =&gt; {
          return this.searchText.valueChanges
            .debounceTime(400)
            .distinctUntilChanged()
            .map((text) =&gt; {
              return values.filter((c) =&gt; c.isMatch(text));
            });
        });
  </code></pre>