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