title: RxJS retry not behaving as expected?
body: <p>I'm having some difficulty getting RxJS' retry operator to work in combination with the map operator.</p>
  
  <p>Essentially what I'm trying to do is take a stream of values (in this case GitHub users for testing purposes), and for each value do some operation on that value.</p>
  
  <p>However I want to be able to handle errors in a way that allows me to set a finite number of retries for that operation. I'm also assuming RxJS handles such a thing asynchronously.</p>
  
  <pre><code>Rx.Observable.fromPromise(jQuery.getJSON("https://api.github.com/users"))
  .concatAll(x =&gt; Rx.Observable.of(x))
  .map(x =&gt; {
      if(x.id % 5 == 0) {
          console.log("error");
          return Rx.Observable.throw("error");
      }
      return x;
  })
  .retry(3)
  .subscribe(x =&gt; console.log(x), e =&gt; console.log(e));
  </code></pre>
  
  <p>This is what I've got so far, however where it should retry the same value 3 times it only prints "error" once which isn't the behaviour I'm looking for.</p>
  
  <p>Am I missing something trivial or if this sort of thing simply not possible with RxJS? In short I would like to execute operations on values asynchronously, retying said operation a finite number of times but allowing other valid operations to continue in parallel. I have achieved something similar using only promises but the code is rather messy and I was hoping RxJS would allow me to make things a bit nicer to read.</p>