更新时间:2022-04-26 GMT+08:00
分享

循环图元

循环图元的作用

配置该图元能够对数组里的元素逐个取出做循环操作,类似于for each循环。循环的对象可以是字符串、数字,也可以是结构体等。

如何使用循环图元

您可以通过以下两种方式将循环图元添加到画布中。

  • 拖拽“逻辑”目录下的“循环”图标至画布中,松开鼠标左键。
  • 拖拽右侧图元菜单栏中的“循环”图标至画布中,松开鼠标左键。
图1 循环图元

循环图元参数配置

例如,当前有数组变量“TestList1”,“TestList2”,要求把“TestList1”中的元素逐个加到数组“TestList2”的后面。

操作步骤

  1. 创建数组变量“TestList1”、“TestList2”和普通变量“test_var”。

    1. 在服务编排编辑器页面右侧选择。在全局上下文页面单击“变量”后的加号。

    2. 单击新增变量后的“...”,选择“设置”。
    3. 设置数组变量“TestList1”,数据类型为文本。
      图2 数组变量“TestList1”
    4. 参考上述步骤设置数组变量“TestList2”和普通变量“test_var”,普通变量不用勾选“是否为数组”。
      图3 数组变量“TestList2”
      图4 普通变量“test_var”

  2. 单击拖拽到画布中的循环图元,单击,在“基本信息”页面进行配置。

    表1 基本信息参数说明

    参数名

    参数说明

    如何配置

    标签

    仅用于展示。系统会自动填入该值,格式为Loop序号。序号从“0”开始,表示同类型图元序号。

    系统自动填充。

    名称

    该图元的标识,请确保在当前服务编排中唯一。

    系统自动填充。

    描述

    该图元的描述信息。

    选填项,建议填写图元的作用。

  3. 单击,在“循环”页面进行配置。

    图5 配置循环图元
    表2 循环图元配置参数说明

    参数名

    参数说明

    如何配置

    循环数组

    表示进行循环的具体数组。

    从全局上下文中拖拽或者输入集合变量。

    该场景请从全局上下文拖拽数组变量“TestList1”,表示对数组“TestList1”进行循环。

    循环变量

    表示将每次循环取出来的元素赋值给该变量。

    从全局上下文中拖拽或者输入变量。

    该场景请从全局上下文拖拽普通变量“test_var”,表示将每次循环取出来的元素赋值给变量“test_var”。

    排序

    循环取出的顺序,可选择升序或者降序从数组中依次取出。

    从下拉框选择“升序”或者“降序”。

  4. 进行赋值操作,将“test_var”的值加到数组“TestList2”后面。

    1. 拖拽“逻辑”下“赋值”图标至画布中,松开鼠标左键。
    2. 单击,在“基本信息”页面进行配置。“标签”和“名称”配置为“AddToList2”。
    3. 如下图所示,设置页面参数,从全局上下文拖拽数组变量“TestList2”到变量中,从全局上下文拖拽普通变量“test_var”到值中。将“test_var”的值加到数组“TestList2”后面。
      图6 添加Assignment定义

  5. 将循环和赋值连线,在连线类型选择“下一个取值”。

    图7 添加连线

  6. 清空“test_var”并闭环。

    1. 拖拽“逻辑”下“赋值”图标至画布中,松开鼠标左键。
    2. 单击,在“基本信息”页面进行配置。“标签”和“名称”配置为“testvar_Tonull”。
    3. 单击,设置页面参数。从全局上下文拖拽普通变量“test_var”到变量中,从全局上下文拖拽全局常量“$GlobalConstant.Null”到值中。清空“test_var”。
      图8 清空test_var页面

  7. 在服务编排编辑器页面右侧选择,按照下图从全局上下文页面中拖拽参数到相应的入参和出参区域,设置服务编排的入参和出参。

  8. 连线并单击,保存服务编排。

  9. 单击,在“输入参数”中输入参数后运行服务编排。

    在“输入参数”中输入如下参数:
    {
        "TestList1": [
            "1",
            "2",
            "3"
        ]
    }

  10. 检查输出页签的结果是否符合预期。

    {
      "interviewId": "002N000000YfbbgBStmq",
      "outputs": {
        "TestList2": [
          "1",
          "2",
          "3"
        ]
      }
    }

分享:

    相关文档

    相关产品

close