Redux thunk: promesa de devolución de la acción enviada

¿Es posible devolver la promesa / señal del creador de la acción, resuelta cuando Redux thunk ha enviado con éxito cierta acción?

Considera este creador de acciones:

function doPost(data) {
    return (dispatch) => {
        dispatch({type: POST_LOADING});
        Source.doPost() // async http operation
            .then(response => {
                dispatch({type: POST_SUCCESS, payload: response})
            })
            .catch(errorMessage => {
                dispatch({type: POST_ERROR, payload: errorMessage})
            });
    }
}

Quiero llamar a alguna función de forma asincrónicaen el componente despues de llamardoPost creador de acciones cuando Redux ha enviado acciones POST_SUCCESS o POST_ERROR. Una solución sería pasar la devolución de llamada al creador de la acción, pero eso haría que el código fuera desordenado y difícil de comprender y mantener. También podría sondear el estado de Redux en el ciclo while, pero eso sería ineficiente.

Idealmente, la solución sería una promesa, que debería resolverse / rechazarse cuando se despachan ciertas acciones (en este caso POST_SUCCESS o POST_ERROR).

handlerFunction {
  doPost(data)
  closeWindow()
}

El ejemplo anterior debe ser refactorizado, por lo que closeWindow () se llama solo cuando doPost () es exitoso.

Respuestas a la pregunta(1)

Su respuesta a la pregunta