vue 返回结果是promise的处理
原本代码async search1(name) {const { data: resp } = await this.$http.post("/qureyBaseInfo/" + name);return resp;},showResumeById(row){this.dialogTableVisible = true;this.test.name=row.mytoudi_myname;this.
·
原本代码
async search1(name) {
const { data: resp } = await this.$http.post("/qureyBaseInfo/" + name);
return resp;
},
showResumeById(row){
this.dialogTableVisible = true;
this.test.name=row.mytoudi_myname;
this.test.id=row.mytoudi_resumeID;
},
async searchJianLi() {
var name=window.sessionStorage.getItem("enterprise")
const { data: resp } = await this.$http.post("/showZPGL2/"+name);
for(var i=0;i<resp.length;i++){
resp[i].yj= this.search1(resp[i].mytoudi_myname)
}
console.log('qqqq',resp.yj)
console.log("tttttt",resp)
// this.table=resp;
},
控制台打印
yj: Promise
[[Prototype]]: Promise
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: Object
原因promise解释,主要是在一个异步请求方法(方法1)中使用了另一个异步请求方法(方法2),在方法2中存在返回值
解决方法:只需要在方法1中使用方法2的前面加上await就可以了
async searchJianLi() {
var name=window.sessionStorage.getItem("enterprise")
const { data: resp } = await this.$http.post("/showZPGL2/"+name);
for(var i=0;i<resp.length;i++){
resp[i].yj=await this.search1(resp[i].mytoudi_myname)
}
console.log('qqqq',resp.yj)
console.log("tttttt",resp)
// this.table=resp;
},
更多推荐
已为社区贡献1条内容
所有评论(0)