やりたい事
- hogeAPIを実行するActionを実行
- hogeAPIのレスポンスにfugaURLが書いてある場合、そのURLを実行するActionを実行
- Storeに格納
実装
hogeのAPIレスポンスに、fugaUrlがあるか調べてあればactionをdispatch
vue.js
// 呼び出し
created () {
getHoge()
},
methods: {
..mapActions({
setHoge: 'setHoge'
}),
getHoge() {
this.setHoge({payload: "hogeAPIのURL"})
}
}
actions.js
export const setHoge = ({ dispatch, commit }, payload) => {
Vue.http.get(payload).then((hogeResponse) => {
let fugaUrl = indexResponse.hoge.fugaUrl
if (fugaUrl) {
dispatch('setFuga', fugaUrl) // setFugaを呼び出し
}
commit()
})
}
export const setFuga = ({ commit }, payload) => {
Vue.http.get(payload).then((fugaResponse) => {
commit()
})
}