我可以从Vue操作返回数据还是需要更新商店?
我定义了一个动作,但没有返回数据
getData(){
return { "a" : 1, "b" : 2 }
}
答案 0 :(得分:1)
您实际上可以从操作返回数据。从文档中:
动作通常是异步的,所以我们怎么知道什么时候动作 完成了吗更重要的是,我们如何组合多个动作 一起处理更复杂的异步流?
您应该在resolve()
方法中返回承诺和数据:
actions: {
actionA () {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve({ name: 'John Doe' })
}, 1000)
})
}
}
并以这种方式使用它:
store.dispatch('actionA').then(payload => {
console.log(payload) /* => { name: 'John Doe' } */
})