Nodes and execution

The anatomy of a node

anatomy

A node represents an instance of a function or event, with the original function or event being its declaration. Each node has input and output properties, as well as input and output triggers. Properties handle data acceptance and production, while triggers determine when a node is called.

Nodes without triggers are called on demand.

Execution order

Understanding the difference between triggers and properties is crucial. Properties pull data from their connected sources, while triggers pushes the flow of execution to the next trigger.

Example of execution order

execution_order
  1. When a request is received matching the /hello endpoint with method GET and a query parameter name, the HttpEndpoint event is triggered.

  2. The Template node is then called, because the Log node depends on its result, and it doesn't have any triggers.

  3. The Log node is executed, with input from the Template node.

  4. The Template node is called again, since the HttpResponse node also depends on it.

  5. The HttpResponse node is called with input from the Template node.

Functions without triggers

Functions without any trigger inputs or outputs are called on demand, and don't cache their results, meaning that if several nodes depend on the output of a single non-triggerable node, it is called several times, like in the example above.

Functions with triggers can only be called by triggering them from a previous function or event, or by clicking the play-button in their header.

They do cache their results, meaning that as long as a triggered node has been called, any node that depends on any of its outputs will use the values from its last execution.

value from triggered node which hasn't been executed yet

Last updated

Was this helpful?