找回密码
 立即注册

QQ登录

只需一步,快速开始

恒美恒美
金牌服务用户   /  发表于:2024-10-6 00:26  /   查看:80  /  回复:10
50金币



用http命令获取api的订单数据,比如一次获取1000条数据,api返回一次100条,需要翻页请求,我用循环命令做了一个循环翻页,但是每次循环到第五页第六页时就会出现一个超时的代码,整个循环就结束了,

如何能在判断返回码是code=200时正常循环, 如果code=201代表超时时, 把当前页再循环一遍或者多遍, 这个平台返回的接口会有这种问题,有时在第一页就会超时,有时第五六页会超时, 多请求2次就正常了

因为是获取一个时间段内的所有订单, 所以并不能在出现超时时跳过当前循环执行下一条循环,这样会出现漏单的情况,  只能说遇到超时,就不停地把当前页多请求几次

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

10 个回复

倒序浏览
赛龙周
金牌服务用户   /  发表于:昨天 06:27
沙发
你这这个要用异步方式处理,估计要写点代码
回复 使用道具 举报
lml0126
高级会员   /  发表于:昨天 07:17
板凳
知道循环条件和跳出的条件,就可写,估计影响执行效率
回复 使用道具 举报

高级会员   /  发表于:昨天 08:57
地板
获取当前循环次数,这个值重新放入循环,
避免死循环,这个值重新放入循环的次数也要判断下,实在获取不到数据就要通知你手动操作,
如果经常需要手动操作就要换方案了
回复 使用道具 举报
successit悬赏达人认证
银牌会员   /  发表于:昨天 08:59
5#
楼主可以看看专题教程里有个循环出错如何继续循环的帖子
回复 使用道具 举报
successit悬赏达人认证
银牌会员   /  发表于:昨天 09:20
6#
一看就会,超有用活字格技能:二百零七、循环命令中出错如何继续循环
https://gcdn.grapecity.com.cn/showtopic-226600-1-1.html
(出处: 葡萄城开发者社区)
回复 使用道具 举报
server2021
高级会员   /  发表于:昨天 11:44
7#
按楼主的意思,循环里面加个重试应该就好了,大概思路是进到循环,执行,如果成功,继续n+1继续下一个,如果失败,重试这个操作;
回复 使用道具 举报
恒美恒美
金牌服务用户   /  发表于:昨天 13:04
8#
server2021 发表于 2024-10-6 11:44
按楼主的意思,循环里面加个重试应该就好了,大概思路是进到循环,执行,如果成功,继续n+1继续下一个,如 ...

是这么个意思,这个重试怎么加呢,我翻了好久,没找到这个用什么办法加
回复 使用道具 举报
恒美恒美
金牌服务用户   /  发表于:昨天 13:05
9#
successit 发表于 2024-10-6 09:20
一看就会,超有用活字格技能:二百零七、循环命令中出错如何继续循环
https://gcdn.grapecity.com.cn/show ...

大佬,这个我看了,这个继续循环是跳过当前出错的循环执行下一条循环, 我想做的是重新循环出错的这一条
回复 使用道具 举报
恒美恒美
金牌服务用户   /  发表于:昨天 13:09
10#
胡 发表于 2024-10-6 08:57
获取当前循环次数,这个值重新放入循环,
避免死循环,这个值重新放入循环的次数也要判断下,实在获取不到 ...

是的,一般超时的多循环1-2遍就可以了,我的想法是超时就继续循环,次数最多10次,超过10次就终止循环,然后发送一个通知,手动处理
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部