다른 작업 내에서 작업 호출


135

내 작업에 대해 다음과 같은 설정이 있습니다.

get1: ({commit}) => {
  //things
  this.get2(); //this is my question!
},
get2: ({commit}) => {
  //things
},

내가 전화를 할 수 있도록하려면이 예에서는 너무 다른 내에서 하나의 액션을 호출 할 수 있도록하려는 get2()내에서 get1(). 가능합니까? 그렇다면 어떻게해야합니까?

답변:


262

dispatch첫 번째 매개 변수에 전달 된 객체 의 메소드에 액세스 할 수 있습니다 .

get1: ({ commit, dispatch }) => {
  dispatch('get2');
},

이것은 문서 에서 다룹니다 .


1
작업이 완료되면 작업을 수행 할 수있는 방법이 있습니까? 기본적으로 이것을 then()?
muttley91

1
네, 제가 링크 한 문서 페이지에서 완전히 다루었습니다
감사합니다.

3
다른 상점에서 조치를 발송하려면 어떻게해야합니까? 예 : 상점에서 AI하고 싶은 일dispatch('B/someaction')
Guus


4

페이로드가 필요하지 않은 작업

actions: {
    BEFORE: async (context, payload) => {
    },
    AFTER: async (context, payload) => {
        await context.dispatch('BEFORE');
    }
}

페이로드 가 필요한 작업

actions: {
    BEFORE: async (context, payload) => {
    },
    AFTER: async (context, payload) => {
        var payload = {}//prepare payload
        await context.dispatch('BEFORE', payload);
    }
}

1
export actions = {
  GET_DATA (context) {
     // do stuff
     context.dispatch('GET_MORE_DATA');
  },

  GET_MORE_DATA (context) {
    // do more stuff
  }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.