跳到主要内容

Continue(继续)

跳到所在循环的下一次迭代。

用途

放弃当前这轮的剩余部分,开始下一轮。循环继续运行;只有这一轮的剩余工作被跳过。

何时用

  • 这个条目不相关——跳过它、去下一个。
  • 这一轮的前提失败了,但循环该继续。
  • 过滤:只处理匹配的条目,跳过其余。

何时不用

  • 结束循环——用 Break
  • 结束流程——用 ReturnStop
  • 循环之外——Continue 只在循环区域内有意义。

前提

Continue 必须位于循环区域内。它属于最内层包围循环,编译期解析。

如何运行

Continue 不携带用户接的出边。编译器把它改接回循环起点,那里做下一轮的条件检查。

Continue 仍算一轮

跳过主体跳过迭代。max 10 的 Count 循环即便每轮都 continue,仍执行十轮再退出。Continue 省的是主体工作,不是迭代预算

设置

设置类型范围备注
Labelstring≤ 120 字符可选显示标签;无运行时效果

Continue 没有功能性设置——行为完全取决于位置。

端口

端口备注
Success节点上存在,但不由用户接——编译器拥有它
Fatal配置错误。永不被走

Continue 没有必接端口。把边接它;别接出。

基础示例

跳过不合格的条目:

  • If → False → Continue

实际示例——过滤列表

注意 Continue 和 Break 在同一循环里做不同的活:Continue 跳过这个条目,Break 因没有更多条目而停。

高级示例——守卫子句

Continue 让你把循环体写成一串提前退出,而非深层嵌套:

每个守卫是带自己 Continue 的扁平检查,而非三层嵌套 If。明显更易读、更易扩展。

最佳实践

  • 守卫子句用 Continue。 扁平守卫胜过嵌套条件。
  • 用单独变量数你真正处理的——迭代数和处理数是两个数字。
  • 给 Continue 标注跳过的原因。
  • 记住迭代仍计数。 Max iterations 按你要检查的条目数定,不是要处理的。
  • 与 Break 搭配——Continue 表"跳过这个",Break 表"彻底停"。

性能笔记

  • Continue 免费,且省下该轮的剩余主体工作。
  • 省一轮迭代。多数轮次提前 continue 的循环仍付每轮开销和守卫检查。
  • 几乎每轮都被跳过意味着过滤器放错位置——可能时在循环前过滤。

内存笔记

  • 无分配。被跳过的轮次仍为已运行节点记录结果,所以 nodeResults 无论如何随迭代增长。

常见错误

错误后果修复
指望 Continue 结束循环循环继续Break
指望被跳过的轮不计数它们计数相应定 Max iterations
从 Continue 接出边不是它的工作方式只接进
嵌套循环里 Continue 放错作用于最内层查区域
拿迭代数当处理数总数错用单独计数器

故障排查

循环比预期提前退出。 continue 的轮次仍消耗迭代预算。调高 Max iterations。

Continue 行为像 Break。 查它在你以为的那个循环区域里。

从来没有东西被处理。 守卫条件反了——查哪个端口通向 Continue。

FAQ

Continue 重置循环计数器吗? 不。它正常进入下一轮。

continue 的轮次计入 Max iterations 吗? 计入。

能在循环外用 Continue 吗? 不能。

Continue 跳过该轮的 Loop End 聚合吗? 该轮没产生可聚合的主体结果,所以不为它收集任何东西。

相关节点

  • Loop——Continue 所属的区域
  • Break——彻底停循环
  • If——决定跳过的守卫
  • Variable——单独计数处理的条目

相关页面