Примерно так
Да, именно так. Помните, что обещания - это просто значения, вы можете передавать их и сохранять в переменных или делать их результатом выражений.
return (dispatch) => {
var promise;
if (some condition)
promise = axios.put(`${ROOT_URL}/company`, data, config);
else
promise = axios.post(`${ROOT_URL}/company`, data)
return promise.then(companyResponse => {
…
});
}
Или используйте условный оператор:
return (dispatch) => {
return (some condition
? axios.put(`${ROOT_URL}/company`, data, config);
: axios.post(`${ROOT_URL}/company`, data)
).then(companyResponse => {
…
});
}