Vue js - 异步等待问题
Vue js - async await issue
我在Login.Vue中的代码如下
methods: {
async validateLoginBeforeSubmit () {
this.$validator.validate().then((result) => {
if (result) {
var data = {
email: this.email,
password: this.password
}
var response = await this.$api('POST', 'login', data);
}
})
},
},
这是原型函数
从 'vue' 导入 Vue;
Vue.prototype.$api = async() => function(method, url, data){
if (method == 'POST') {
return new Promise((resolve) => {
this.$http.post(url, data).then((response) => {
resolve(response);
}).catch((error) => {
if (error.response.status == '401') {
/* Destroy token from local storage and redirect to login page */
}
resolve(error.response);
return false;
});
});
}
}
抛出以下错误
error Parsing error: Unexpected reserved word 'await'.
谁能帮我做同样的事情?
您不应混合搭配 async/await
和传统的 then
承诺处理,因为它会导致混淆。
安装尝试:
async validateLoginBeforeSubmit () {
var result = await this.$validator.validate()
if (result) {
var data = {
email: this.email,
password: this.password
}
var response = await this.$api('POST', 'login', data);
}
}
我在Login.Vue中的代码如下
methods: {
async validateLoginBeforeSubmit () {
this.$validator.validate().then((result) => {
if (result) {
var data = {
email: this.email,
password: this.password
}
var response = await this.$api('POST', 'login', data);
}
})
},
},
这是原型函数
从 'vue' 导入 Vue;
Vue.prototype.$api = async() => function(method, url, data){
if (method == 'POST') {
return new Promise((resolve) => {
this.$http.post(url, data).then((response) => {
resolve(response);
}).catch((error) => {
if (error.response.status == '401') {
/* Destroy token from local storage and redirect to login page */
}
resolve(error.response);
return false;
});
});
}
}
抛出以下错误
error Parsing error: Unexpected reserved word 'await'.
谁能帮我做同样的事情?
您不应混合搭配 async/await
和传统的 then
承诺处理,因为它会导致混淆。
安装尝试:
async validateLoginBeforeSubmit () {
var result = await this.$validator.validate()
if (result) {
var data = {
email: this.email,
password: this.password
}
var response = await this.$api('POST', 'login', data);
}
}