handleMemberName(id) {
let name = ``
this.$store.dispatch('abc/aaa', id).then(res => {
name = res.data.nickname
console.log(res.data.nickname) // Hi
})
console.log(name) // undefined
return name
},
打了「某API」後有順利得到 nickname
但是當 return 時會是 undefined
dispatch 不能這樣傳值?
該如何順利傳值呢
這不是 dispatch
的問題,而是 Promise
的問題,你在 then 接到之前就 return 了,所以會是 undefined
async handleMemberName(id) {
const name = await this.$store.dispatch('abc/aaa', id).then(res => {
return res.data.nickname
})
return name
}