title: rxjs Observable .map not executing
body: <p>I have the following code that returns an observable, it checks if the this.data is valid JSON, otherwise it tries to fetch it from url. The fetching and everything works.  </p>
  
  <pre><code>load():Observable&lt;IStandardListOutput[]&gt; {
  
  return Observable.create(observer =&gt; {
  
    if (this.needsFetch) {
      var data;
      this.http.get(this.data)
        .map(res =&gt; {
          var result = res.text();
          // console.log(result);
          try {
            data = JSON.parse(result)
          } catch (e) {
            return Observable.of([{error:"ERROR LOADING JSON: " + this.data}]);
          }
          return data;
        }).subscribe(res =&gt; {
          observer.next(this._parse(res));
          observer.complete();
        });
    }else {
      observer.next(this._parse(this.data));
      observer.complete();
    }
  });
  </code></pre>
  
  <p>}</p>
  
  <p>Now in the map/subscribe portion of the observer I have the following:</p>
  
  <pre><code>let observable$ = this.loader.load(); // &lt;-- load method above
  observable$.map(res =&gt; {
    console.warn ("IN MAP: " + JSON.stringify(res));
  });
  
  observable$.subscribe(res=&gt; {
      console.log("IN SUB: " + JSON.stringify(res));
    },
    err =&gt; {
      console.log(JSON.stringify(err))
    },
    () =&gt; {
      console.info("COMPLETE")
    }
  );
  </code></pre>
  
  <p>What I see in the output/console is only the "IN SUB" (subscribe) function and a "COMPLETE". The console.warn in the .map function is never executed. </p>
  
  <p>Any help is highly appreciated, thanks in advance</p>