嵌套调用接口函数来获取并更改信息,但是第二个接口函数取不到循环的i值,尝试传参,但是then方法又不太了解fetchUserList(this.listQuery).then(response=>{this.list=response.data.listfor(vari=0;i{this.office=response.data.data.nameconsole.log(i)})}console.log(this.list)this.total=response.data.totalthis.listLoading=false})
2 回答
手掌心
TA贡献1942条经验 获得超3个赞
解决把循环里面的var换成letfor(leti=0;)原因你这种写法.每次都是取的最后一个i的值,即i总是等于this.list.length-1原理何为异步就是把所有同步方法执行完毕之后,再开始执行异步方法.即,如果你的循环是5次,那么系统会先执行循环这个代码,执行完一次循环,就在最后面排一个异步方法,一共排上5个,等循环代码执行完了,再依次执行这5个异步方法等你循环代码执行完的时候,i已经变成5了,所以每个异步方法取的值都是5何为闭包闭包就是在异步方法里面,能够取到异步方法外的变量值...你这里的需求是,每个异步方法,取第一次循环的i值.所以必须定义局部变量传参
添加回答
举报
0/150
提交
取消
