title: How do I send multiple http requests with rx.js?
body: <p>I am trying out <code>rx.js</code> and I am trying to make multiple <code>http</code> request.  Here is the <code>observable</code> that I have set up to make the <code>http</code> request.</p>
  
  <pre><code>function httpGet(url) {
      return Observable.create(function forEach(observer) {
          var cancelled = false;
          axios.get(url).then(function(res) {
              if(!cancelled) {
                  observer.onNext(res);
                  observer.onCompleted();             
              }
          });
  
          return function dispose() {
              cancelled = true;
          }
      })
  }
  </code></pre>
  
  <p>I am trying to make multiple <code>http</code> requests, but my result is more <code>Observable</code>'s.  Here is the <code>subscribe</code>:</p>
  
  <pre><code>var array = ['http://localhost:4444/text/88', 'http://localhost:4444/other/77'];
  
  var source = Rx.Observable.fromArray(array).map(httpGet);
  
  var subscription = source.subscribe(
      function (x) {
          console.log(x);
      },
      function (err) {
          console.log('Error: ' + err);
      },
      function () {
          console.log('Completed');
  });
  </code></pre>
  
  <p>And here is my result.</p>
  
  <pre><code>AnonymousObservable { source: undefined, __subscribe: [Function: forEach] }
  AnonymousObservable { source: undefined, __subscribe: [Function: forEach] }
  Completed
  </code></pre>
  
  <p>I understand that I am getting <code>Observable</code>'s and if I <code>forEach</code>ed through them, then I would get the result, but I am missing the proper way of transforming this into <code>data</code> and not an <code>Observable</code>.  What am I doing wrong?</p>