victormayorov
@victormayorov
Frontend разработчик

Как мутировать асинхронно vue store?

Мне нужно сделать пред загрузку данных из API, у меня есть async функция с запросом через axios, эта функция импортируется в других файлах и с этими данными происходить манипуляция и после этого я передаю через мутации данные в vue store.

Когда я только все это писал, я хранил данные в localStorage и было все отлично, сейчас я забираю те же данные из API и все посыпалось, так как export default в самом конце где происходит мутации отрабатывает сразу же, не дожидаясь того, что происходит выше.

Есть ли решение?
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 2
@deliro
Мутации не могут быть асинхронными, они нужны только чтобы устанавливать данные в стор. Всю асинхронную работу делай в actions, затем оттуда вызывай коммиты мутаций
Ответ написан
@steelpear
Надо использовать не мутацию, а action.
export const actions = {
set_text: ({ commit }, payload) => { commit('set_text', payload) }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы