找回密码
 立即注册

QQ登录

只需一步,快速开始

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



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

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

因为是获取一个时间段内的所有订单, 所以并不能在出现超时时跳过当前循环执行下一条循环,这样会出现漏单的情况,  只能说遇到超时,就不停地把当前页多请求几次
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

有没有想过把API请求的业务逻辑的单独抽出一个服务端命令A,正常执行时,通过这个服务端命令B去调用A,如果A返回出错,用帖子里的方法,出错后继续在B中去调用A服务端命令,直到A正常跑完结束

13 个回复

倒序浏览
最佳答案
最佳答案
successit悬赏达人认证
银牌会员   /  发表于:2024-10-6 00:26:34
来自 12#
恒美恒美 发表于 2024-10-6 13:05
大佬,这个我看了,这个继续循环是跳过当前出错的循环执行下一条循环, 我想做的是重新循环出错的这一条

有没有想过把API请求的业务逻辑的单独抽出一个服务端命令A,正常执行时,通过这个服务端命令B去调用A,如果A返回出错,用帖子里的方法,出错后继续在B中去调用A服务端命令,直到A正常跑完结束
回复 使用道具 举报
赛龙周
银牌会员   /  发表于:2024-10-6 06:27:01
2#
你这这个要用异步方式处理,估计要写点代码
回复 使用道具 举报
lml0126
高级会员   /  发表于:2024-10-6 07:17:30
3#
知道循环条件和跳出的条件,就可写,估计影响执行效率
回复 使用道具 举报

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

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

大佬,这个我看了,这个继续循环是跳过当前出错的循环执行下一条循环, 我想做的是重新循环出错的这一条
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部