跳到主要内容

循环处理

循环节点用于在服务流程中重复执行特定操作,直至满足预定条件。该节点支持按照指定次数循环执行,或在满足特定条件时持续执行,直到达到退出条件为止。

支持三种循环方式:

  1. **满足条件时循环:**一直循环运行一段服务,并在参数达到特定退出条件后结束

  2. **循环指定次数:**按指定的起始值,结束值和步长值循环固定次数

  3. **指定多条数据循环:**按指定的多条数据进行循环,当所有数据循环后自动退出

使用场景

  • 批量处理数据:需要对大量数据逐条处理时,可使用循环节点逐一执行操作。
  • 分页获取外部数据:从外部接口分页拉取数据,直到获取完所有数据为止。

配置方法

方式一:循环指定次数

示例场景:从题库中随机抽取10道题目生成一套试卷。

实现思路:通过获取单条数据节点实现随机抽取1道题目,复制题目并关联到试卷中,并将原题目标记为已获取。循环执行10次,循环结束后,解除题库中的标记。

配置步骤

  1. 添加循环节点:在流程中添加"循环"节点,并选择"循环指定次数"的方式。

    指定次数循环

  2. 配置循环节点参数

    • start:循环开始的值,例如1。
    • end:循环结束的值,例如10。
    • step:每次循环后,start递增的步长值,例如1。

    当start增加到大于end时,退出循环,不再执行下次循环。

  3. 配置循环体流程:点击循环节点中的按钮进入循环流程,配置循环流程中的动作。例如,每次循环时随机获取到一个题目,复制并关联到试卷中。

  4. 处理循环中止情况:当循环执行过程中,某次流程出现中止,可设置以下处理方式:

    • 跳出并进入下一次循环:忽略错误,开始下一次循环。
    • 跳出并终止循环,继续后面的流程:结束整个循环,执行循环节点后续的操作。
    • 中止流程:直接中止整个流程。
  5. 完成整个流程:循环结束后,可在流程中添加节点,执行后续操作。例如,将题库中标记为已查询的题目清除标记。

方式二:满足条件时循环

示例场景:分页获取外部数据。例如,从外部接口分页拉取数据,接口响应中返回是否还有下一页的标记。

实现思路:使用"满足条件时循环"方式,循环获取所有分页的数据,直到接口返回无下一页标记。

配置步骤

  1. 添加循环节点:在流程中添加"循环"节点,并选择"满足条件时循环"的方式。

    image-20250315092601161

    image-20250315092632160

  2. 配置循环节点参数

    • index:系统固定参数,每次执行完后值自动加1。
    • 自定义参数:如"hasMore",初始值为true。
  3. 设置退出循环条件:设置当"hasMore"等于false时,退出循环。

  4. 配置循环体流程:在循环流程中,添加调用已集成API节点,获取外部数据。根据API返回结果,判断是否有下一页数据,更新"hasMore"参数的值。

  5. 处理循环中止情况:同方式一的处理方式。

  6. 完成整个流程:循环结束后,执行后续操作。

注意事项

  • 最大循环次数:循环节点最大支持1万次。到达最大循环次数时将自动终止循环并执行后续节点。
  • 参数更新:循环流程中的所有参数都可以在服务中通过"单条数据处理"节点修改。
  • 复用循环流程:如果需要的循环流程已经配置好,可以直接复用。在循环节点中选择"已有循环流程",选择所在应用和服务即可。

通过以上配置,您可以在易星云平台中使用循环节点,实现对特定操作的重复执行,满足业务需求。