Branching

Branching allows your flows to make decisions based on conditions, directing execution along different paths depending on the given input. The If node is commonly used for this purpose, allowing you to define logic where execution follows one path if a condition is met and another if it is not.

  1. Generating a Value: In the example above, the Random node produces a number between 0 and 10, which is sent to the If node.

  2. Evaluating a Condition: The If node checks if the value is greater than 5 using the predicate input.

  3. Branching Execution: If true, execution follows the then path; if false, it follows the else path.

  4. Logging the Result: One of the Log nodes prints either “Value is large” or “Value is small” based on the condition.

There are several other branching nodes, wich support various use-cases:

  • Std Switch - is used to select one of two values based in two potentially incoming paths

  • Std OrElse - is used to select a fallback value when you have a value which can potentially be null.

  • Std Match - is used to create an arbitrary number of branches based on a list of potential values.

  • Std Fork/Std FanOutRange/Std FanOutList - these nodes can be used to fork a flow into multiple independenc processes, which execute concurrently and can be joined together again using Std Join and Std JoinAll.

Last updated

Was this helpful?