【发布时间】:2019-06-20 02:00:18
【问题描述】:
在我的 vue js 项目中,我有一个服务文件夹,用于处理与服务器的交互。在我的服务文件夹中,我有一个处理身份验证的类 Auth.js
export default class Auth {
login(email,password {
let user = {email: email, password: password}
axios.post("/login", user)
.then(res => {
return res.data
})
}
}
App.vue
import Auth from './services/Auth'
let auth = new Auth();
export default {
data: () => ({
drawer: null,
email: '',
password: ''
}),
methods: {
login() {
let user = auth.login(this.email, this.password)
console.log(user) // returns undefined
}
}
}
由于某种原因,用户未定义,但是当我检查 chrome 中的网络选项卡时,我可以看到当我向我的 Adonis 应用程序发送/api/register 的发布请求时返回的用户对象。请帮忙。
【问题讨论】:
-
假设
axios.post是异步函数,那么你应该使用await auth.login(this.email, this.password)来获取console.log中的东西 -
@AndrewShmig 我修改了,现在错误是
await is a reserved keyword,我在我的App.vue中添加了async login(){..}仍然返回未定义