循环
“循环”操作用于执行某项操作或一组重复给定次数或直到满足条件的操作。该操作提供了两种类型的循环方法:
“次数”- 重复一个任务或多个任务,直到满足特定的计数。因此,举个例子,如果要使用 OneDrive 帐户创建多个相同的联系人,则可以在工作流中使用 'Times' 循环时间。它会执行 x 次任务。
“每一项”- 针对数组或集合中的每一项重复一个或多个任务。如果想要从返回数组的所有对象中仅获取 'name' 属性的值,可以使用此类型的循环。它用于为集合或数组中的每个项执行任务。
例如,如果想要获取所有 Trello 卡片的列表,并在 Google Tasks 中为每个卡片创建任务,可以使用“每一项”循环选项。每个卡片的名称即为 Google Tasks 中创建的相应任务的标题。这比创建多个单独的工作流要快得多,在此过程中,会获取单个 Trello 卡片的名称,然后在 Google Tasks 中创建新任务。
使用“循环”操作
要在工作流中使用此操作,请将其连接至 ThingWorx Flow。要连接到工作流,请执行以下操作:
1. 单击 并将“循环”实用工具下的“循环”操作拖动到工作区。“循环”操作可以根据您的要求展开或收缩。您可以在循环块内添加多个操作来创建迷你工作流。将一项操作拖动到循环外部的工作流工作区后,无法将其拖动到循环内部。要在循环中添加操作,请将其从操作导航面板直接拖动到循环。
执行工作流时,它会首先启动所有上述操作,然后重复执行循环块内的所有操作,直到满足定义的计数或条件,随后会继续执行下列操作。
2. 将指针置于该操作上,然后单击 或双击该操作。“循环”操作窗口随即打开。
3. 根据需要编辑标签名称。默认情况下,标签名称与操作名称相同。
4. “选择循环类型”字段中,选择以下选项之一:
“次数”- 在“次数”字段中指定循环应执行的次数。建议当“循环”操作内的工作流无需前一操作中的输入时运行此循环。
“每一项”- 会执行多次,每次都会按照“源数组或对象”字段中所指定的,取用数组中的一个项或对象。
5. 单击“完成”
以下视频演示如何使用“循环”操作。
输出架构
“循环”操作返回的输出架构如下图所示:
currentIndex - 此属性会获取索引或当前小版本的位置。
currentItem - 如果在“循环”设置中选择的源为对象数组,此属性会返回每个小版本的当前对象。
currentKey - 如果在“循环”设置中选择的源为对象,此属性仅会返回对象的键。如果源为数组,则此属性会返回每个项的索引。
currentValue - 如果在“循环”设置中选择的源为对象,此属性仅会返回对象的值。如果源为数组,则此属性会返回数组的所有项,其中包括整个对象 (如果数组内存在的话)。可以通过使用点表示法 (例如 {{$a0.currentValue.name}}) 检索特定键或属性的值
totalLength - 返回对象数组内所有对象的总数,或数组内所有项的总数。