Все ноды/Logic & Flow/Synchronization

Объединение

Объединяет отдельные вход выполнения и вход значения в один выход, который и запускает следующий шаг, и приносит ему значение. Срабатывает по приходу хода и берёт последнее значение со входа значения.

Объединение▶
ЗапускЗначение
Данные

Тип в графе: merge

Exec

Можно включить выход ошибки и обработать сбой отдельным путём.

Как попробовать

Минимальный рабочий сценарий

Вход
Объединение▶
Выход▶
  • Исполнение + данные
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Запускается сразу

Как применять

Собирает одну связь «выполнение + данные» из двух раздельных: «Запуск» задаёт момент, «Данные» — значение. Нужна, когда команда «выполняйся» и значение приходят из разных мест, а следующий шаг ждёт одну комбинированную связь.

Прежде чем добавлять ноду, посмотрите настройки соседей: у многих нод есть переключатели «Разделить входные порты» и «Разделить выходные порты» — они делают то же самое прямо на ноде, без лишнего ноды на холсте. merge берите, когда такого переключателя нет или когда сборку двух веток хочется видеть отдельным элементом графа.

Как это работает

Нода срабатывает по приходу выполнения на порт «Запуск» и в этот момент снимает текущее значение с порта «Данные». На выход уходит именно это значение — ветка «Запуск» к нему ничего не добавляет, поэтому {{ nodes.<id>.output }} — это данные с data-входа.

Data-вход только читает результат, но не задаёт порядок: ветка, которая его считает, должна успеть отработать раньше по ветке выполнения. Исключение — конфигурационные ноды вроде template, var и const: у них нет входа выполнения, и Iterna вычисляет их сам в момент, когда значение понадобилось.

Частые ошибки

  • Ожидание, что нода дождётся обеих веток. merge не барьер: он срабатывает по приходу выполнения и берёт то значение, которое лежит на data-входе прямо сейчас. Если ветка данных отработает позже, придёт пусто. Ждать умеет wait_all.
  • Две связи в один вход. На «Запуск» и на «Данные» приходит по одной связи; вторая делает вход неоднозначным, и граф не пройдёт проверку. Чтобы соединить два значения в одно, возьмите json_merge или барьер.
  • Ожидание чего-то из ветки «Запуск» на выходе. Оттуда берётся только момент запуска; результат ноды-источника выполнения в значение не попадает — если он нужен, читайте его шаблоном: {{ nodes.<id ноды-источника>.output }}.

Входы

ПортПроводДанныеПримечания
ЗапускeventИсполнениеexecute—

Запускает шаг.

ДанныеdataДанныеdata—

Значение: берётся то, что лежит здесь в момент запуска.

Выходы

ПортПроводДанныеПримечания
ЗначениеoutputИсполнение + данныеexecute_dataobject

Настройки

У этой ноды нет настраиваемых полей.

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этой ноды.