- 怎么解决for循环里面的异步问题呀,为什么在云函数前面加wait会报错?
[图片]
2021-08-09 - 为什么存入数组的顺序的是乱序的呀,是for循环出问题了吗?有大佬帮忙吗?
review:function(){ var username = (wx.getStorageSync('username')||[]) wx.setStorageSync('username', username) wx.cloud.callFunction({ name:"login", data:{ id:username, action: "getdata", } }).then(res=>{ for(var index in res.result.data[0].课程号){ this.setData({ Cid:res.result.data[0].课程号 }) wx.cloud.callFunction({ name:"login", data:{ cid:this.data.Cid[index], sid:username, action:"getGdata" } }).then(res=>{ var grade = this.data.Grade grade.push(res.result.data[0].分数) var bgrade = this.data.Bgrade bgrade.push(res.result.data[0].补考分数) var cgrade = this.data.Cgrade cgrade.push(res.result.data[0].重修分数) var isB = this.data.IsB isB.push(res.result.data[0].是否已补考) var isC = this.data.IsC isC.push(res.result.data[0].是否已重修) this.setData({ Grade:grade, Bgrade:bgrade, Cgrade:cgrade, IsB:isB, IsC:isC, }) }) wx.cloud.callFunction({ name:"login", data:{ id:this.data.Cid[index], action: "getCdata", } }).then(res=>{ var cname = this.data.Cname cname.push(res.result.data[0].课程名) var bplace = this.data.Bplace bplace.push(res.result.data[0].补考地点) var btime = this.data.Btime btime.push(res.result.data[0].补考时间) var cplace = this.data.Cplace cplace.push(res.result.data[0].重修地点) var ctime = this.data.Ctime ctime.push(res.result.data[0].重修时间) this.setData({ Cname:cname, Bplace:bplace, Btime:btime, Cplace:cplace, Ctime:ctime }) console.log(res.result.data[0]) }) } }) },
2021-08-09 - 为什么setData没有生效?
[图片]函数里修改了值,但是后面输出的时候还是初始值。后面再用其他函数调用这个值的时候就会出错,有没有大佬指导一下怎么修改Cid的值呀。
2021-08-08