title: Weird case where map function is not called with a BehaviorSubject
body: <p>I'm front of a weid case in my Angular App about a map's RxJS not called.</p>
  
  <p>Please, take a look to this sample of code :</p>
  
  <pre><code>const userSource = new Rx.BehaviorSubject(undefined);
  const user = userSource.asObservable();
  
  user.map(user =&gt; {
    const shouldPass = !!user;
    console.log('shouldPass', shouldPass, user);
    if (user === null) {
      console.log('go to login');
      // this.router.navigate(['login']);
    }
    return shouldPass;
  });
  Rx.Observable
    .throwError(new Error('HTTP 401'))
    .subscribe(
      user =&gt; userSource.next(user),
      e =&gt; userSource.next(null)
    );
  </code></pre>
  
  <p>This code (that I translate into plain JavaScript) is placed in a function dedicated to load User entity from server (here replaced by a throw Error to simulate an HTTP error) and then <code>emit</code> on a <code>BehaviorSubject</code>.
  In this exemple, the <code>user.map</code> is called only one time during the initialization of the <code>BehaviorSubject</code>.</p>
  
  <p>For me, it should be called twice time, right ? One time for the initialization and another time when an error is thrown from the observable.</p>