跳至内容

遍历项目#

Loop Over Items节点可在需要时帮助您循环遍历数据。

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

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

何时使用Loop Over Items节点#

默认情况下,n8n节点设计用于处理输入项列表(部分例外情况如下所述)。根据您的目标需求,工作流中通常不需要使用"遍历项目"节点。您可以在n8n循环机制页面了解更多关于n8n如何处理多项目的信息。

以下链接展示了循环处理项节点可能派上用场的一些场景:

节点参数#

批量大小#

输入每次调用返回的项目数量。

节点选项#

重置#

如果开启此选项,节点将在每次循环时重置,并使用当前输入数据重新初始化。当您希望"循环处理项"节点将传入数据视为新数据集而非之前项的延续时,请使用此功能。

例如,您可以将带重置选项的Loop Over Items节点与If节点结合使用,在预先不知道需要多少页的情况下查询分页服务。该循环会逐页查询数据,执行任何处理操作,并递增页码。循环重置功能确保循环将每次迭代识别为新数据集。If节点通过评估退出条件来决定是否执行下一次迭代。

包含有效的终止条件

对于上述示例中描述的工作流,为循环设置有效的终止条件至关重要。如果终止条件始终不匹配,您的工作流执行将陷入无限循环。

启用后,您可以通过将参数表示从固定值切换为表达式来调整重置条件。表达式评估的结果将决定节点何时重置项目处理。

模板和示例#

Scrape business emails from Google Maps without the use of any third party APIs

作者:Akram Kadri

查看模板详情
Back Up Your n8n Workflows To Github

作者:Jonathan

查看模板详情
OpenAI GPT-3: Company Enrichment from website content

作者:Lucas Perret

查看模板详情
浏览循环遍历项目(分批处理)集成模板, or 搜索所有模板

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

该工作流允许您使用循环遍历项节点从两个不同来源读取RSS订阅源。您需要在工作流中添加循环遍历项节点,因为RSS订阅源读取节点仅处理接收到的第一项内容。您也可以在n8n.io上找到此工作流

本示例将引导您完成构建工作流的步骤,但假设您已熟悉n8n。如需构建您的第一个工作流(包括学习如何向工作流添加节点),请参阅立即试用

最终的工作流程如下所示:

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

  1. 添加手动触发器。
  2. 添加代码节点。
  3. 将以下代码复制到代码节点中:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    return [
    	{
    		json: {
    			url: 'https://medium.com/feed/n8n-io',
    		}
    	},
    	{
    		json: {
    			url: 'https://dev.to/feed/n8n',
    		}
    	}
    ];
    
  4. 添加Loop Over Items节点。
  5. 配置循环遍历项:在批量大小字段中将批量大小设置为1
  6. 添加 RSS 阅读节点。
  7. 选择测试工作流。这将运行工作流以将数据加载到RSS Feed Read节点中。
  8. 配置RSS订阅源读取:将输入中的url映射到URL字段。您可以通过从INPUT面板拖放,或使用此表达式实现:{{ $json.url }}
  9. 选择测试工作流来运行工作流并查看结果数据。

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

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

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

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

优云智算