Jak zamiast promisa mogę zwrócić wartość z funkcji. Mam taką funkcję
export const getTodos = () => {
return axios.get('tasks/tasks')
.then(res => {
console.log(res.data)
return res.data
})
.catch(err => {
console.error(err)
})
}
W tym logu w czwartej linii dostaje dobrą odpowiedź z serwera listę 3 todos, ale jak wywołam tą funkcję w mojej akcji reduxowej, bądź gdziekolwiek indziej to zwraca ona promise i nie wiem jak wyciągnąc z niej wartośc zamiast promisa
Próbowałem tak getTodos().then(res => console.log(res))
i w ten sposób dostaje w konsoli moje todos, ale gdy zrobię coś takiego w mojej akcji reduxowej
export const getAllTodos = () => ({
type: 'GET_TODOS',
todos: getTodos().then(res => res)
})
To w reducerze znowu otrzymuje promise
const todos = (state = [], action) => {
console.log(action.todos)
switch(action.type) {
case 'GET_TODOS':
return [...state, action.todos]
default:
return state
}
}
Link do loga z reducera Link