Redux Thunk: вернуть обещание от отправленного действия

Можно ли вернуть обещание / сигнал от создателя действия, разрешенный, когда Redux thunk успешно отправил определенное действие?

Рассмотрим создателя этого действия:

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})
            });
    }
}

Я хочу вызвать некоторую функцию асинхроннов компоненте после звонкаdoPost создатель действий, когда Redux отправил действия POST_SUCCESS или POST_ERROR. Одним из решений было бы передать обратный вызов самому создателю действия, но это сделало бы код запутанным и трудным для понимания и поддержки. Я мог бы также опрашивать состояние Redux в цикле while, но это было бы неэффективно.

В идеале решение - это обещание, которое должно разрешаться / отклоняться при отправке определенных действий (в данном случае POST_SUCCESS или POST_ERROR).

handlerFunction {
  doPost(data)
  closeWindow()
}

Приведенный выше пример должен быть реорганизован, поэтому closeWindow () вызывается только тогда, когда doPost () успешен.

Ответы на вопрос(1)

Ваш ответ на вопрос