gpt4 book ai didi

javascript - Vuex 调度不返回

转载 作者:搜寻专家 更新时间:2023-10-30 22:31:50 24 4
gpt4 key购买 nike

我有这个代码:

signin(context, payload, resolve) {
console.log("SIGNIN action")

const aemail = payload.locmail
const apassw = payload.locpass

backend.get("api/auth/signin", {
headers: {
'planck': 'FRESH'
},
crossDomain: true,
params: {
password: apassw,
email: aemail
}
}).then(function(ret) {
console.log("SENT")
if (ret.data.auth === 'TRUE') {
context.commit('authenticate', ret.data.planck)
state.isAuthenticated = true
} else {
state.isAuthenticated = false
}
console.log(ret)
return Promise.resolve(ret)
});
}

当我从组件中调用它时:

this.$store.dispatch('signin', {
locmail,
locpass
}).then(ret => {
console.log(ret);
});

然后控制台日志打印undefined。我在这里做错了什么?在文档中我读到我应该使用 resolve() 但后来我得到错误,它不是一个函数。

最佳答案

signin 操作中返回 backend promise。

  signin(context, payload) {
// ...

// The action needs to return a Promise
return backend.get("api/auth/signin", {
/* ...*/
}).then(function(ret) {
/* ... */
});
}

此外,看起来您正在更改操作中的 state 对象,这应该仅限于突变。

如果您使用的是 strict mode在开发中,您会看到有关此的警告。

关于javascript - Vuex 调度不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49710481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com