文档

成功(Succeed)

更新时间:

本文介绍成功状态及其相关使用示例。

基本概念

成功状态用来提前结束一系列状态,类似于编程语言中的return。工作流定义中,通常一个状态执行完成后会继续执行后续状态,而成功状态不会继续执行下一个状态。 运行至成功状态,将会完结本作用域的所有状态,流程将继续运行至上一层作用域。

成功状态包含以下属性。

字段

类型

是否可选

描述

示例值

Name

string

状态名称。

my state

Description

string

状态描述。

describe it here

Type

string

状态类型。

Succeed

InputConstructor

map[string]any

输入构造器。

请参见输入构造器

OutputConstructor

map[string]any

输出构造器。

请参见输入和输出

使用示例

以下流程定义使用成功状态来完结当前作用域。

Type: StateMachine
Name: my-wkfl
SpecVersion: v1
StartAt: Parallel1
States:
  - Type: Parallel
    Name: Parallel1
    End: true
    Branches:
      - StartAt: Succeed1
        States:
          - Type: Succeed
            Name: Succeed1
            OutputConstructor:
              FieldA: 123
      - StartAt: Pass2
        States:
          - Type: Pass
            InputConstructor:
              FieldA: 321
            Name: Pass2
            End: true

本示例与Parallel使用示例相比,仅有Pass1和Succeed1不同,可以将成功状态理解为自带End=true属性的传递状态。

  • 在Succeed1完结时,隐式命名的ParallelBranch #0置为完结。

  • 在ParallelBranch #0与ParallelBranch #1同时完结时,整个Parallel1置为完结。而Parallel1完结时,整个工作流流程置为完结。