elsa 结果

结果(Outcome) 表示 活动工作流 执行的结果。结果和 [输出] 的主要区别在于,结果是一个离散的字符串值,代表活动或工作流执行的结果,而输出是由活动或工作流产生的数据值。

结果用于确定流程图中要执行的下一个活动。一个结果的例子是 完成 (Done),用来表示活动已成功完成。另一个例子是 故障 (Faulted),用来表示活动已失败。许多活动有多个结果,比如 完成故障 ,或者像 决策 活动中的

何时使用结果和何时使用输出

如上所述,活动产生输出结果,每种都有不同的用途。

结果在流程图中特别有价值,它们可以在不深入探究导致该结果的底层细节的情况下,将活动与特定结果关联起来。一个典型的例子是 “决策” 活动,它产生 “真” 或 “假” 的结果。这些结果在流程图中的活动上以不同的端口表示,简化了决策路径的可视化。

另一方面,输出在后续活动需要利用前一个活动生成的数据时至关重要。例如,“加载文件” 活动产生的输出是一个文件流。这个输出可以存储在变量中或直接被其他活动使用,便于数据操作和传递。

决定使用输出还是结果,取决于具体的应用场景:

  • 如果目标是促进流程图中活动与特定结果的连接,那么建议从活动中明确提供这些结果。
  • 相反,如果目的是为其他活动提供数据——无论是为了进一步处理还是根据数据值触发某些操作——那么将这些数据作为输出提供更为合适。将其表述为结果将需要将信息简化为基本的字符串值,代表结果。

举个例子,假设有一个假设性的 “导航” 活动,旨在执行一些内部逻辑并产生四个方向之一:“北”、“东”、“南” 或 “西” 。有三种方式从活动中展示此信息:

  1. 作为输出:在这种情况下,活动仅呈现一个 “完成” (Done) 结果。要根据提供的方向采取行动,需要额外的活动(如 “决策” )来评估方向并生成真或假的结果,模仿决策活动的二元结果结构。

  2. 作为结果:在这种情况下,活动将呈现四个不同的结果:北、东、南和西。这种设置简化了基于方向链接活动的过程,可以直接将所需活动连接到适当的结果。

  3. 同时作为输出和结果:同时提供方向信息作为输出和结果提供了最大的灵活性。这种双重方法满足了多样的工作流程需求,并允许更精细和适应性强的过程设计。

在本文档中