• Как использовать async/await в actions vuex?

    @RokeAlvo Автор вопроса
    в общем разобрался, если кому будет полезно:
    await fetch() возвращает объект Response
    соответственно требуется выполнить await response.json() или другие методы, в зависимости от типа получаемых данных. Обращаю внимание на await: response.json() возвращает Promise, соответственно нужен await
    Итого:
    actions: {
             async initialCityList({ commit }) {
                const siteContacts = await fetch('/api/contacts')
                commit('setSiteContacts',  await siteContacts.json())
            }
        },


    При использовании Axios:
    axios.get() возвращает объект, который содержит тело ответа в поле data, соответственно итоговый код:
    actions: {
             async initialCityList({ commit }) {
                const siteContacts = await axios.get('/api/contacts')
                commit('setSiteContacts', siteContacts.data)
            }
        },
    Ответ написан
    1 комментарий