Я использую какой-то шаблон реагирования / редукса и пытаюсь найти способ отправить действие после завершения первого.
Прошло много времени с тех пор, как я использовал избыточность, поэтому я 'Я не понимаю, почему эта конфигурация для отправки действия за другим не будет работать.
В этом примере представьте, что actionTwo () в основном точно так же, как actionOne (), и я просто хочу, чтобы она былаСрабатывает сразу после возвращения действия actionOne.
Мой вопрос: почему в этой конфигурации возникают проблемы и как правильно запускать действия сразу после их завершения?
import axios from 'axios';
import type { ThunkAction } from '../types';
export const actionOne = (value1, value2): ThunkAction => dispatch =>
axios
.post('/api/route', {
params: {
username: value1,
password: value2
},
credentials: 'include'
})
.then(response => {
dispatch(actionTwo()); //this dispatch either fails completely or takes a long time to start
dispatch({
type: 'FETCH_ACTIONONE_SUCCESS', //this dispatch fires immediately always
data: response
});
})
.catch(err => {
dispatch({
type: 'FETCH_ACTIONONE_FAIL',
data: err
});
});