methods: {
onSubmit() {
console.log('调用出单接口');
const url='/v1/policy/create/'+this.value
const res=this.$request.post(url,this.policyForm)
console.log(res)
console.log(res.data)
this.result=res.data
}
}
从控制台日志可以看出
res是一个promise数据,而res.data是undefined
但按照接口返回 应该是返回,res.data应该为"result": "这怕是发生了一丢丢异常"
{
"code": 500,
"data": {
"result": "这怕是发生了一丢丢异常"
},
"msg": "error"
}
发送一个get请求,但是是异步的,所以res不是他的响应数据,res是一个Promise对象。
Promise,就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果;从语法上说,Promise是一个对象,从它可以获取异步操作的消息。
使用async await
onSubmit:async function(){
console.log('调用出单接口');
const url='/v1/policy/create/'+this.value
const res=await this.$request.post(url,this.policyForm)
console.log(res)
console.log(res.data)
this.result=res.data
}
}
变为了正常的res形式
先从字面意思来理解。async是“异步”的简写,而 await 可以认为是 async wait 的简写。所以应该很好理解 async 用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成。
网友评论