eslint为什么不建议返回一个await

来源:2-1 课程学习方法

李行知

2018-04-24

async login (data) {
let reslut = await util.request(
{
url: 'user/login',
data: data
}
)
return reslut
},

如果我直接返回一个await就会报错,但是实际上效果不是一样的吗?还可以节约一点代码

async login (data) {
return await util.request(
{
url: 'user/login',
data: data
}
)
},


写回答

2回答

Dell

2018-04-24

因为这个版本的脚手架,还不太支持es7

0
6
Dell
回复
李行知
async很简单的,没你想的那么复杂,就是底层通过yield把异步代码写成同步的格式
2018-04-25
共6条回复

李行知

提问者

2018-04-24

util

import axios from 'axios'
import { Message, Loading } from 'element-ui'
import router from '../router/index.js'
export default{
request ({ method = 'post', url, data }) {
let loadingInstance = Loading.service({
text: '加载中'
})
return axios({
url: url,
method: method,
data: data,
baseURL: 'http://localhost:8080/api'
})
.then((result) => {
return result.data
}).catch((err) => {
return err
}).finally(() => {
loadingInstance.close()
})
},

login.service.js

import util from 'util'
export default {
async login (data) {
let reslut = await util.request(
{
url: 'user/login',
data: data
}
)
return reslut
},
async register (data) {
let reslut = await util.request(
{
url: 'user/register',
data: data
}
)
return reslut
},


login.vue

methods: {
submit: function (fromData) {
let validateResult = this.validate(fromData)
if (validateResult.status) {
loginService.login(fromData).then(res => {
if (res.status) {
util.successMessage({
message: res.msg,
onClose: () => {
util.goTabs()
}
})
} else {
util.warningMessage({
message: res.msg
})
}
})
} else {
util.warningMessage({
message: validateResult.msg
})
}
},


是应该在login.service里面返回一个普通的promise对象,然后在vue中的methonds中去定义异步函数然后再在异步函数里面来调用服务,await loginService.login()来进行处理吗?

0
3
李行知
回复
Dell
https://coding.imooc.com/learn/questiondetail/54438.html
2018-04-26
共3条回复

Vue2.5-2.6-3.0开发去哪儿网App 零基础入门到实战

课程紧跟Vue3版本迭代,企业主流版本Vue2+Vue3全掌握

10675 学习 · 8191 问题

查看课程