Vuex 中 使用 Action 处理异步请求时,常规写法如下
mutations: {
setToken (state, token) {
state.token = token
setToken(token)
},
}
handleLogin :(context) =>{
context.commit('setToken ','参数')
}
}
我们也可以使用如下简化写法,如下:
actions: {
// 登录
handleLogin ({ commit }, {userName, password}) {
userName = userName.trim()
return new Promise((resolve, reject) => {
login({
account: userName,
password
}).then(res => {
const data = res.data
if (data.data) {
commit('setToken', data.data)
}
resolve(data)
}).catch(err => {
reject(err)
})
})
},