关于for循环中的request请求

遇到问题:

第一次遇到在for循环中使用request请求,一开始以为程序会默认等待for循环执行完毕后再接着往下执行。在把请求返回的数据赋值给数组时,发现好像不太对,循环了6次,就返回了两个数据,有时才返回1个数据。

原因分析:

for循环只会执行请求语句,并不是等请求数据返回后再执行下一次循环,也就是说循环结束后,可能还有一些数据还没返回,导致数组赋值的时候出现只有几个数据的现象。

解决方式:

1.在数组赋值的时候加个setTimeout,延迟1500ms再给数组赋值,但是感觉会受到网速的影响,有可能1000ms到了,数据还没完全返回。

2.在for循环中等待返回结果,当确定返回6个数据时,直接给数组赋值,不会受到网速影响而导致数组赋值不全。

总结:

1.知道了for循环并不会等待返回结果再去执行下一次循环。

2.request本身就是一个异步请求 ,第一反应就是用setTimeout、promise、async跟await去处理,但是不太熟悉后面两种方法,不过也尝试了,最后尽管没成功,但是找到了更简单的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值