title: RxJS Observable methods on assigned variable
body: <p>Why is it that you have to chain observable instance methods for them to work. If you assign an observable to a variable, then apply a new observable method, the new method will not be called.</p>
  
  <p>For example, this works:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>var source = Rx.Observable.range(1, 3)
    .map(function (x) {
          return x;
      })
    .finally(function() {
      console.log("Finally");
    });
  
  var subscription = source.subscribe(
      function (x) {
          console.log('Next: ' + x);
      },
      function (err) {
          console.log('Error: ' + err);   
      },
      function () {
          console.log('Completed');   
      });</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="//cdnjs.cloudflare.com/ajax/libs/rxjs/2.2.28/rx.all.min.js"&gt;&lt;/script&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>But this doesn't call the finally() method:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>var source = Rx.Observable.range(1, 3)
    .map(function (x) {
          return x;
      });
  
  // This is never called
  source.finally(function() {
    console.log("Finally");
  });
  
  var subscription = source.subscribe(
      function (x) {
          console.log('Next: ' + x);
      },
      function (err) {
          console.log('Error: ' + err);   
      },
      function () {
          console.log('Completed');   
      });</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="//cdnjs.cloudflare.com/ajax/libs/rxjs/2.2.28/rx.all.min.js"&gt;&lt;/script&gt;</code></pre>
  </div>
  </div>
  </p>