微信小程序中函数1s内调用次数超限制的解决

问题场景

一个数据库中共157条数据,每个数据需要调用一个API函数。将这个处理逻辑中写在一个for循环里,此时console报错提示超过每秒最多5个的限制。(好嘛,我&?》“:%&#¥@)

尝试过的方案

1.用队列缓冲,网上应该很多,但是没成功
2. 这篇看起来很强的样子但是没看懂:js限制promise并发

实际解决

一秒最多5个请求,一个请求就是200ms,那么设置每隔一段时间执行一次就可以了。

设置的Interval为210ms时获取全部数据约需要3min,设置为0.0001-1时约需1min30s;

不是很能理解,为啥0.0001-1的时间差不多。。。。。

that.data.inter = setInterval(function(){//设置读取的信息条数,到限制后就结束循环任务if(index == all.length - 2){clearInterval(that.data.inter)}console.log("=====",index)//每执行一次下标+1index = index + 1qqmapsdk.geocoder({//获取表单传入地址address: all[index].adderess, //地址参数,例:固定地址,address: '北京市海淀区彩和坊路海淀西大街74号'success: function (decodedData) { //成功后的回调console.log(decodedData);var res = decodedData.result;var latitude = res.location.lat;var longitude = res.location.lng;var tmpData = {id: all[index].riskLevel,latitude: latitude,longitude: longitude,iconPath: "../../static/light.png", //换图标width: 100, //改大小height: 100}markers.push(tmpData)},fail: function (error) {console.error(error);},complete: function (res) {console.log(res);}})},0.0001)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部