使用子工作流处理嵌套数据循环 - n8n 工作流

通过利用子工作流和“执行工作流”(Execute Workflow) n8n 节点,搞定 n8n 中复杂的嵌套循环难题。下载这个靠谱的 n8n 模板,实现模块化的数据处理逻辑。

工作流预览

准备好自动化了吗?

下载此 n8n 工作流模板并立即开始使用。

适用人群

那些在单个 n8n 工作流中难以实现稳定嵌套循环的自动化专家。
需要模块化数据处理架构的开发者。
正在寻找侧重于流程控制的高级 n8n 模板的用户。
任何对使用“执行工作流”(Execute Workflow) 节点最佳实践感兴趣的人。

概览

尽管 n8n 是一个强大的平台,但对于复杂的流程控制模式(比如嵌套循环,即对一个列表中的每个元素都遍历另一个列表),有时需要一些巧妙的解决方案。

这个稳健的 n8n 工作流模板提供了终极解决方案,它将嵌套逻辑拆分成了两个独立的部分:一个主工作流和一个可复用的子工作流。主工作流使用“按批次拆分”(Split In Batches) 节点来遍历“外层”列表(颜色),对每个元素,它都会调用一个专用的子工作流(通过“执行子工作流”(Execute Sub-workflow) 节点)。

子工作流接收外层元素作为参数,执行它自己的内层循环(整数),然后合并结果。这种方法确保了执行更清晰,避免了在单一工作流循环结构中常见的数据混淆问题,并展示了“执行工作流”节点在模块化设计中的强大能力。这个 n8n 解决方案对于处理复杂的数据组合任务至关重要。

工作原理

此自动化流程由一个主执行流和一个次级子工作流逻辑组成,两者通过“执行工作流”(Execute Workflow) 节点连接。


  1. 主工作流触发: 流程以 n8n 的手动触发器“点击‘执行工作流’时”(When clicking ‘Execute workflow’) 启动。

  2. 外层数据初始化: “颜色”(Colors) 代码节点生成主列表(yellow, blue, green)。

  3. 外层循环: “遍历颜色”(Loop Over Colors) “按批次拆分”节点开始遍历生成的颜色列表,每批次处理一种颜色。

  4. 子工作流执行: 对每个颜色项,调用“执行子工作流”(Execute Sub-workflow) 节点。它将当前的 color 值作为输入参数传递给子工作流。

  5. 子工作流触发: 子工作流以“被另一个工作流执行时”(When Executed by Another Workflow) 触发器启动,接收来自主 n8n 工作流的 color 参数。

  6. 内层数据初始化: “整数”(Integers) 代码节点生成次级列表(1, 2, 3)。

  7. 内层循环: “遍历整数”(Loop Over Integers) “按批次拆分”节点遍历这些整数。

  8. 数据合并: “编辑字段”(Edit Fields) 设置节点执行核心处理。它将外层循环的颜色(通过初始 n8n 触发器接收)与当前内层循环的数字结合起来,生成类似 'yellow - 1' 的最终结果。

这种结构确保了对于外层列表中的每一项,完整的内层 n8n 工作流序列都会运行,从而稳定地生成所有必需的组合。

安装指南

要部署这个强大的 n8n 工作流及其相关的子工作流,请遵循以下步骤:


  1. 导入: 复制提供的完整 n8n 工作流 JSON,并将其粘贴到您的 n8n 实例中(新建 -> 从 JSON 导入)。

  2. 分离子工作流: 提供的模板将主工作流和子工作流逻辑都放在了一个画布上。为确保正确运行,子工作流部分(从“被另一个工作流执行时”(When Executed by Another Workflow) 节点开始)必须移动到一个独立的、新的 n8n 工作流画布上。保存这个新的子工作流。

  3. 链接工作流: 返回主 n8n 工作流。点击“执行子工作流”(Execute Sub-workflow) 节点。

  4. 配置链接: 在参数中,更新“子工作流”字段,选择您在第 2 步中创建的新工作流的确切名称。确保输入参数 color 正确映射为 ={{ $json.color }}

  5. 执行: 保存并激活主工作流和子工作流。使用 n8n 触发器手动执行主工作流,以观察嵌套循环的运行情况。

节点详情

点击‘执行工作流’时 (手动触发器 n8n 触发器): 按需启动主要的 n8n 工作流流程。
颜色 (Code n8n 节点): 为外层循环(颜色列表)生成初始数组数据。这展示了在 n8n 节点内进行数据准备的过程。
遍历颜色 (Split In Batches n8n 节点): 主要的流程控制节点,负责对颜色列表进行分批处理,确保下一步操作为每种颜色仅运行一次。
执行子工作流 (Execute Workflow n8n 节点): 关键的连接节点。对于外层循环中的每一项,它都会调用独立的子工作流。关键配置:将 color 输入传递给下游的 n8n 工作流。
被另一个工作流执行时 (Execute Workflow 触发器 n8n 触发器): 子工作流的入口点。它被配置为接收主 n8n 工作流传递过来的 color 输入。
整数 (Code n8n 节点): 在子工作流中生成内层循环(数字列表)的数组数据。
遍历整数 (Split In Batches n8n 节点): 控制内层循环的迭代,一次处理列表中的一个数字。
编辑字段 (Set n8n 节点): 最后一步处理。使用 n8n 表达式将传入的颜色数据(来自 n8n 触发器)与当前的数字数据(={{ $('When Executed by Another Workflow').item.json.color }} - {{ $('Loop Over Integers').item.json.number }}) 合并到一个名为 result 的字段中。

相关 n8n 工作流

免费

节点: 7 节点
更新时间: 2025年12月26日

精选*