title: Multiple successive effects not completing?
body: <p>I'm not sure if the title of this post explains my problem well, but here is my situation.</p>
  
  <p>I have a tree with lazily loaded children. When you expand a tree node, it dispatches a <code>LoadChildrenAction</code> with the parent node that was just expanded as a payload.</p>
  
  <p>Here is my effect:</p>
  
  <pre><code>  @Effect()
    loadChildren$: Observable&lt;Action&gt; = this.actions$
      .ofType(ActionTypes.LOAD_CHILDREN).switchMap((action: LoadChildrenAction) =&gt; {
        return this.categoryService.loadChildren(action.payload).map(
          children =&gt;
            new LoadChildrenSuccessAction({
              parent: action.payload,
              children
            })
        );
    });
  </code></pre>
  
  <p>If I expand just a single node, this works perfectly. The <code>LoadChildrenSuccessAction</code> is dispatched and in my reducer I update the tree.</p>
  
  <p>However, if I expand a node, then expand another node before the first operation completes, only the last operation ever completes.</p>
  
  <p>That is to say, I expand one node, then immediately expand another node while the first node is still loading. The second tree node gets updated with its child content, but the first one never does. In fact, two <code>LoadChildrenAction</code>s get dispatched - one for each expansion - but only <em>one</em> <code>LoadChildrenSuccessAction</code> ever gets dispatched.</p>
  
  <p>If I put a <code>console.log</code> inside my <code>categoryService.loadChildren</code> function, it gets logged twice - so the service is getting called twice. But only one action gets dispatched, so I lose the first action - it just never completes.</p>
  
  <p>Any idea what I'm doing wrong here?</p>