wx.request({
method:"POST",
success:(res)=>{
var data = res;
for(var i=0;i<data.length;i++){
if(data[i].status == 1){
wx.request({
data:data[i].id,
method:"POST",
success:(res)=>{
data[i].username = "警察"
}
})
}
}
}
})
典型的wx.request 嵌套。但是实际执行当中,会报错 Cannot set property 'username ' of undefined 。因为外层定义的 data ,并不会等待嵌套的wx.request执行完,然后再去向下执行。这个怎么解决呢?
我想达到的目的是 ,当status=1的时候,传递这个id,且修改data里面username这个数据 。怎么能够先执行内嵌套的request
比如我想在success 中 继续取下页数据,一共取10页数据wx.request 支持吗?
同意后端做,但是你还有遇到这样的场景,建议你了解下Promise,并将接口封装成Promise方式。还有,尽量不要使用var,应该使用let和const。
感谢,放到后端处理了。
同意楼上,这应该后台查好,一个接口返给你比较好。。如果你坚持,试试在for循环的第一行加个
let current = data[i]
然后接下来都用current
你的这种要求适合在后端做,前端发一个请求就可以了,如果是需要在创建一个资源项的同时,去修改这个资源中其它项的数据,那就在POST对应的后端方法中去做这件事。