vue axios嵌套for中调用axios async await

数码产品销售 java大作业

再写评论功能时,使用到了三个表的联查,spring cloud不知道mapper中怎么跨maven module调用方法

想着前端实现,在前端获取数据后再进行一次查询

实现中遇到了axios中调用axios数据处理的问题

现已解决

============2022.5.15更新===============

跨maven module调用方法已在博客更新

但是前端调用也有自己的好处

不用在后端增加巨量entity

==============================

上代码:

 1 this.axios.get("user/comment/getCommentPageByUid?current=" + this.pageNo + "&uid=" + this.user.uid).then(async(response) => {    //async用于声明一个函数是异步的
 2         this.list=this.list.concat(response.data.records);
 3         var arr = [];
 4         for(var i = 0;i < this.list.length;i++){
 5           
 6           await this.axios.get("shop/detail/getDetailByPid?pid="+this.list[i]['pid']).then((response) =>{       //await从字面意思上是“等待”的意思,就是用于等待异步完成
 7             arr.push(response.data)
 8           }).then(()=>{
 9             const newObj = Object.assign(this.list[i], arr[i]);//Object.assign(list1,list2)合并对象
10             this.list[i] = newObj
11             console.log(this.list[i])
12           })
13         }
14         this.loading=false;
15         if(this.pageNo>=response.data.pages){
16           this.finished=true;
17         }
18         this.pageNo++;
19       })

本文参考:

https://www.jianshu.com/p/aef5f53aef6b

额外知识(axios.all  ,   axios.spread)

https://blog.csdn.net/weixin_43836360/article/details/112218903

posted @ 2022-05-14 15:26  kekit  阅读(462)  评论(0编辑  收藏  举报