title: RxJS subscribe inside subscribe with actions on error
body: <p>I have code with <code>subscribe</code> inside <code>subscribe</code>:</p>
  
  <pre><code>this.http.post('/update1', newData).subscribe(
      (response) =&gt; {
          const r = response.json;
          const id = r['id'];
          this.http.post('/update2?id=' + id, newData).subscribe(
              () =&gt; {
                  this.http.post('/update3?id=' + id, newData).subscribe(
                      () =&gt; {
                          console.log('success');
                      },
                      () =&gt; {
                          // revert changes made to update2
                          this.http.post('/update2', previousValues).subscribe();
                          // revert changes made to update1
                          this.http.post('/update1', previousValues).subscribe();
                      });
              },
              () =&gt; {
                  // revert changes made to update1
                  this.http.post('/update1', previousValues).subscribe();
              }
          );
      },
      (error) =&gt; {
          console.log(error);
      }
  );
  </code></pre>
  
  <p>How can I optimize it in RxJS 5?</p>