Call an action from within another action
You have access to the dispatch
method in the object passed in the first parameter:
get1: ({ commit, dispatch }) => { dispatch('get2');},
This is covered in the documentation.
You can access the dispatch method through the first argument (context):
export const actions = { get({ commit, dispatch }) { dispatch('action2') }}
However, if you use namespaced you need to specify an option:
export const actions = { get({ commit, dispatch }) { dispatch('action2', {}, { root: true }) }}
for actions that does not require payload
actions: { BEFORE: async (context, payload) => { }, AFTER: async (context, payload) => { await context.dispatch('BEFORE'); }}
for actions that does require payload
actions: { BEFORE: async (context, payload) => { }, AFTER: async (context, payload) => { var payload = {}//prepare payload await context.dispatch('BEFORE', payload); }}