title: How to populate the store and sequentially await return using Redux Observable?
body: <p>I am attempting to use Redux Observable to call an action to fetch some data, wait for its return, then fetch some more data that relies on it.</p>
  
  <p>I have an epic which populates a store from a fetch <code>FetchTodos</code>.  This listens for the <code>FETCH_TODOS</code> action and then calls my todos API and populates <code>{todos: [] } =</code></p>
  
  <p>I also have a comments section in my store <code>todoComments</code>.  However, I would like to only populate <code>todoComments</code> once <code>FETCH_TODOS</code> has returned and populated the store.</p>
  
  <p>In imperative code, this might look like:</p>
  
  <pre><code>let todos = await api.get('/todos');
  await dispatch("FETCH_TODO_COMPLETE", todos)
  let firstId = getState().todos[0].id
  let comments = await api.get(`/todos/${firstId}/comments')
  await dispatch("FETCH_COMMENTS_COMPLETE", { todo_id: firstId, comments})
  </code></pre>
  
  <p>The closest I saw to this was <a href="https://github.com/redux-observable/redux-observable/issues/33" rel="nofollow noreferrer">this issue</a> in the Redux Observable Repo, but I could not understand how to do this efficiently.  This is a pretty common scenario for me.  </p>
  
  <p>I would like to reuse as much code as possible.  In this example, I may dispatch <code>FETCH_TODOS</code> from multiple components.  </p>
  
  <p>How would i accomplish this with Redux-Observable?</p>