循环处理
循环节点用于在服务流程中重复执行特定操作,直至满足预定条件。该节点支持按照指定次数循环执行,或在满足特定条件时持续执行,直到达到退出条件为止。
支持三种循环方式:
-
**满足条件时循环:**一直循环运行一段服务,并在参数达到特定退出条件后结束
-
**循环指定次数:**按指定的起始值,结束值和步长值循环固定次数
-
**指定多条数据循环:**按指定的多条数据进行循环,当所有数据循环后自动退出
使用场景
- 批量处理数据:需要对大量数据逐条处理时,可使用循环节点逐一执行操作。
- 分页获取外部数据:从外部接口分页拉取数据,直到获取完所有数据为止。
配置方法
方式一:循环指定次数
示例场景:从题库中随机抽取10道题目生成一套试卷。
实现思路:通过获取单条数据节点实现随机抽取1道题目,复制题目并关联到试卷中,并将原题目标记为已获取。循环执行10次,循环结束后,解除题库中的标记。
配置步骤:
-
添加循环节点:在流程中添加"循环"节点,并选择"循环指定次数"的方式。
-
配置循环节点参数:
- start:循环开始的值,例如1。
- end:循环结束的值,例如10。
- step:每次循环后,start递增的步长值,例如1。
当start增加到大于end时,退出循环,不再执行下次循环。
-
配置循环体流程:点击循环节点中的按钮进入循环流程,配置循环流程中的动作。例如,每次循环时随机获取到一个题目,复制并关联到试卷中。
-
处理循环中止情况:当循环执行过程中,某次流程出现中止,可设置以下处理方式:
- 跳出并进入下一次循环:忽略错误,开始下一次循环。
- 跳出并终止循环,继续后面的流程:结束整个循环,执行循环节点后续的操作。
- 中止流程:直接中止整个流程。
-
完成整个流程:循环结束后,可在流程中添加节点,执行后续操作。例如,将题库中标记为已查询的题目清除标记。
方式二:满足条件时循环
示例场景:分页获取外部数据。例如,从外部接口 分页拉取数据,接口响应中返回是否还有下一页的标记。
实现思路:使用"满足条件时循环"方式,循环获取所有分页的数据,直到接口返回无下一页标记。
配置步骤:
-
添加循环节点:在流程中添加"循环"节点,并选择"满足条件时循环"的方式。
-
配置循环节点参数:
- index:系统固定参数,每次执行完后值自动加1。
- 自定义参数:如"hasMore",初始值为true。
-
设置退出循环条件:设置当"hasMore"等于false时,退出循环。
-
配置循环体流程:在循环流程中,添加调用已集成API节点,获取外部数据。根据API返回结果,判断是否有下一页数据,更新"hasMore"参数的值。
-
处理循环中止情况:同方式一的处理方式。
-
完成整个流程:循环结束后,执行后续操作。
注意事项
- 最大循环次数:循环节点最大支持1万次。到达最大循环次数时将自动终止循环并执行后续节点。
- 参数更新:循环流程中的所有参数都可以在服务中通过"单条数据处理"节点修改。
- 复用循环流程:如果需要的循环流程已经配置好,可以直接复用。在循环节点中选择"已有循环流程",选择所在应用和服务即可。
通过以上配置,您可以在易星云平台中使用循环节点,实现对特定操作的重复执行,满足业务需求。