Как вызвать коммит и отправить асинхронно из одного действия? - PullRequest
0 голосов
/ 14 января 2019

Я хочу выполнить действие после того, как мутация выполнит свою работу.

Мутация (SOME_MUTATION) из того же магазина, а действие (test/testAction) из модуля

someAction(context, data) {
    context.commit('SOME_MUTATION', data) // this should be committed first
    context.dispatch('test/testAction') // this action should be dispatched after the above commit
}

Примечание: я не знаю, является ли это поведением по умолчанию

1 Ответ

0 голосов
/ 14 января 2019

вы бы изменили свой someAction(context, data) на этот

someAction({commit, dispatch}, data) {
    call.action()
    .then(=> {
    commit('some_mutations',data)
    dispatch('another_action')
    }
}

использование {commit, dispatch} позволит вам использовать оба внутренних действия, не произнося context. потому что действия принимают только 2 параметра, которые вы передаете как один объект, так что вы все равно можете передать параметр data.

...