title: Redux Saga async/await pattern
body: <p>I'm using async/await throughout my codebase. Because of this my api calls are defined by async functions</p>
  
  <pre><code>async function apiFetchFoo {
    return await apiCall(...);
  }
  </code></pre>
  
  <p>I would like to call this function from my saga code. It seems like I can not do this:</p>
  
  <pre><code>// Doesn't work
  function* fetchFoo(action) {
    const results = await apiFetchFoo();
    yield put({type: "FOOS_FETCHED_SUCCESSFULLY", foos: results});
  }
  </code></pre>
  
  <p>However, this does work, and matches the redux saga documentation:</p>
  
  <pre><code>// Does work
  function* fetchFoo(action) {
    const results = yield call(apiFetchFoo);
    yield put({type: "FOOS_FETCHED_SUCCESSFULLY", foos: results});
  }
  </code></pre>
  
  <p>Is this the correct way to use Redux Saga alongside async/await? It is standard to use this generator syntax inside of the saga code, and the async/await pattern elsewhere?</p>