美文网首页
vue请求返回promise数据处理

vue请求返回promise数据处理

作者: DayBreakL | 来源:发表于2023-01-13 18:06 被阅读0次
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 用于等待一个异步方法执行完成。

相关文章

网友评论

      本文标题:vue请求返回promise数据处理

      本文链接:https://www.haomeiwen.com/subject/amjwcdtx.html