commit }) {
commit('gotData', await getData())
},
async actionB ({ dispatch, commit }) {
await dispatch('actionA') // дожидаемся завершения действия `actionA`
commit('gotOtherData', await getOtherData())
}
}
Не понял что за промис передаётся в мутатор? commit('gotData', await getData())
Как это работает?
Какая-то асинхронная функция. Получение данных с бека, например.
в мутаторе? Который должен быть синхронным?
commit первым параметром принимает имя мутации, вторым payload (любые данные), которые передаст в мутацию
это я знаю) Просто какой в таком случае может быть код мутатора?
А до мутатора асинхронность не перейдет
что такое мутатор
Сначала выполнителся getData, а после получения получения gotData
он просто ждет выполнение функции, и складывает значение в payload, вот и все, улетают уже полученные в ходе выполнения функции данные, а не промис
ааа, вот теперь понял, спасибо
кстати, если ф-ция ниче не вернет (забыли return написать) то отправится undefined, плохая практика
Обсуждают сегодня