When a promise is resolved, one might want to dispatch additional actions in response. One example could be changing the route after a user is successfully signed in. Another could be showing an error message after a request fails.
First, note this behavior uses thunks. You will need to include Redux Thunk in your middleware stack.
Note: Redux Thunk is a middleware that enables action creators to return a function instead of an object (hence the name "thunk"). The returned function is called with a dispatch argument, which is what you can use to chain actions.
When handling a promise with then, the parameter is an object with two properties: (1) the "value" (if the promise is fulfilled) or the "reason" (if the promise is rejected) and (2) the object of the dispatched action.