Use with Async/Await
Instead of chaining your async code with .then().then().then(), you can use async/await.
Consider this example. First, request fooData, then request barData and exit the function (also resolving the promise).
{
  type: 'TYPE',
  async payload () {
    const fooData = await getFooData();
    const barData = await getBarData(fooData);
    return barData;
  }
}Async/await can be combined with data for optimistic updates:
{
  type: 'OPTIMISTIC_TYPE',
  payload: {
    data: {
      ...
    },
    async promise () {
      ...
    }
  }
}Please note there is no need to return await in an async function. See this ESLint rule for more details.
Last updated