title: Synchronicity in RxJS
body: <p>I would expect that the following code would run asynchronously:</p>
  
  <pre><code>var range = Rx.Observable.range(0, 3000000);
  
  range.subscribe(
    function(x) {},
    function(err) {},
    function() {
      console.log('Completed');
  });
  
  console.log('Hello World');
  </code></pre>
  
  <p>But that's not the case. It takes a while to go through the big range of numbers and only when it is completed the execution is resumed, you can try the code <a href="http://jsfiddle.net/sergi/6gpcx/2/" rel="nofollow">here</a>.</p>
  
  <p>I am confused as to when to expect RxJS to behave synchronously or asynchronously. Does it depend on the method used? My previous idea was that once we are in Observables/Observer land, everything in it runs asynchronously, similar to how promises work.</p>