Все ноды/Data/Values & State
Установить переменную
Записывает новое значение в переменную (Var-нода). Порт «Input» — триггер выполнения и данные для записи, «Var» — ссылка на Var-ноду.
Тип в графе: var_set
Exec
Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Счётчик сообщений в диалоге
Переменная читается, увеличивается на единицу и записывается обратно.
- Исполнение + данные
- Данные
Запускается сразу
Как применять
Это единственный способ записать переменную связями на холсте. Разделение простое: Переменная объявляет имя, тип и область хранения и читает значение, а эта нода пишет. Второй путь записи — нода JavaScript-код: она видит объявленные переменные и возвращает изменённые значения обратно.
Если значение не должно меняться, переменная не нужна вовсе — возьмите Константу.
Как это работает
В порт «Var» приходит связь от Var-ноды. Это ссылка на переменную — имя, тип и область хранения, — а не её значение: именно оттуда нода узнаёт, куда писать. Порт «Input» совмещает две роли: он запускает шаг и приносит значение, которое будет записано.
Записанное значение уходит на выход «Value» дальше по графу, а отдельный выход «Success» продолжает цепочку выполнения.
Перед записью значение приводится к типу, объявленному в Var-ноде. Это важно, потому что чаще всего пишет Шаблон, а он всегда отдаёт текст: без приведения строка «1» попала бы в целочисленную переменную и сломала следующее сравнение. Значение, которое привести не удалось, записывается как есть.
Частые ошибки
- Порт «Var» не подключён — публикация не пройдёт. Валидатор сообщает, что у ноды нет источника для целевой переменной: в редакторе это предупреждение, при публикации и запуске — ошибка.
- Область Call ничего не хранит. Переменная с такой областью объявлена как разовая, запись в неё просто отбрасывается.
- Пустое значение — не то же самое, что старое. Пустая строка или отсутствующее
значение приводятся к нулевому значению типа:
0,false, пустой объект. - Порядок чтения решает всё. Ветка, идущая параллельно записи, может прочитать старое значение: чтобы читать новое, поставьте потребителя ниже по цепочке выполнения.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Inputinput | Исполнение + данныеexecute_data | — | Run trigger and value to write |
Varvar | Данныеdata | — | Connect a Var node here |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Valueoutput | Данныеdata | object |
Настройки
У этой ноды нет настраиваемых полей.
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.