跳到主要内容

逐项循环节点#

逐项循环节点可在需要时帮助您遍历数据。

该节点会保存原始输入数据,并在每次迭代时通过 loop 输出端口返回预设数量的数据。

当节点执行完成后,会将所有已处理数据合并并通过 done 输出端口返回。

逐项循环节点的适用场景#

默认情况下,n8n节点设计用于处理输入项目列表(除以下列出的少数例外)。根据您的具体需求,工作流中通常不需要使用逐项循环节点。您可通过循环执行章节深入了解n8n处理多项目的方式。

以下链接列举了逐项循环节点的典型应用场景:

节点参数#

批处理大小#

设置单次调用返回的项目数量。

节点选项#

重置#

启用后,节点将在每次循环时重新初始化当前输入数据。当需要将输入数据视为全新数据集而非前序项目的延续时,应启用此选项。

例如:配合条件节点使用带重置选项的逐项循环节点,可在未知总页数时查询分页服务。循环逐页查询并执行处理,同时递增页码。重置功能确保循环将每次迭代识别为独立数据集,条件节点则评估退出条件以决定是否继续迭代。

重要提示:必须设置有效的终止条件

对于上述示例类工作流,必须为循环设置有效的终止条件。若终止条件始终不满足,工作流将陷入无限循环。

启用该选项后,可通过将参数表示方式从固定值切换至表达式来调整重置条件。表达式执行结果将决定节点重置项目处理的时机。

模板与示例#

不依赖第三方API从Google地图抓取企业邮箱 作者:Akram Kadri 查看模板详情

通过Google地图生成潜在客户 作者:Alex Kim 查看模板详情

🚀使用Gemini将播客转换为爆款TikTok短片+多平台发布✅ 作者:Matt F. 查看模板详情

浏览逐项循环(分批处理)集成模板搜索所有模板

从两个不同源读取RSS订阅#

此工作流演示如何使用逐项循环节点从两个不同源读取RSS订阅。由于RSS订阅读取节点默认仅处理接收到的首项数据,因此需要在该工作流中使用逐项循环节点。您也可以在n8n.io查看该工作流

本示例将逐步构建工作流,但默认您已熟悉n8n基础操作。如需了解创建首个工作流(包括添加节点的方法),请参阅快速入门指南

最终工作流图示如下:

查看工作流文件

复制上方工作流文件并粘贴至您的实例,或按以下步骤手动构建:

  1. 添加手动触发器
  2. 添加代码节点
  3. 将以下代码复制到代码节点:

return [ { json: { url: 'https://medium.com/feed/n8n-io', } }, { json: { url: 'https://dev.to/feed/n8n', } } ];

  1. 添加“遍历项”节点。
  2. 配置遍历项:在批处理大小字段中将批次大小设为 1
  3. 添加 RSS 源读取节点。
  4. 选择执行工作流。运行工作流以将数据加载到 RSS 源读取节点。
  5. 配置 RSS 源读取:将输入中的 url 映射到 URL 字段。可通过从 INPUT 面板拖放或使用表达式 {{ $json.url }} 实现。
  6. 选择执行工作流以运行工作流并查看结果数据。

检查节点是否已处理所有项#

要检查节点是否仍有待处理项,请使用以下表达式:{{$node["Loop Over Items"].context["noItemsLeft"]}}。该表达式返回布尔值。若节点仍有待处理数据,表达式返回 false,否则返回 true

获取节点的当前运行索引#

要获取节点的当前运行索引,请使用以下表达式:{{$node["Loop Over Items"].context["currentRunIndex"];}}