Вот происхождение код:Как я могу получить результат axios сначала, а затем отправить действие?
export function startGame() {
return function(dispatch) {
axios({
method: 'post',
url: '/api/actions/game/',
data: {'game':'start'},
headers: getHeaders(),
})
.then(response => {
if(response.status===200){
dispatch({
type: TYPE.START_GAME,
});
}
})
.catch((error) => {
dispatch({
type: TYPE.ERROR,
});
});
}
}
что я хочу, я получаю результат апи первым, а затем решить, что следующий шаг, который я хочу сделать (потому что у меня есть много действий, которые все называют один и тот же API)
моя логика ниже, но я не знаю, как заставить его работать
Пожалуйста, помогите мне
export function startGame() {
let result = function(dispatch) {
axios({
method: 'post',
url: '/api/actions/game/',
data: {'game':'start'},
headers: getHeaders(),
})
.then(response => {
if(response.status===200){
return {
"result" : "OK",
"data" : response.data
}
}
})
.catch((error) => {
return {
"result" : "FAIL",
"data" : error
}
});
}
if result.result === "OK" {
dispatch(someAction())
}else{
dispatch(otherAction())
}
}
Большое вам спасибо, это то, что я хочу – user2492364