Все ноды/Data/Values & State

Установить переменную

Записывает новое значение в переменную (Var-нода). Порт «Input» — триггер выполнения и данные для записи, «Var» — ссылка на Var-ноду.

Установить переменную
InputValue
Var

Тип в графе: var_set

Exec

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

Порты можно разделить на исполнение и данные (split ports).

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

Счётчик сообщений в диалоге

Переменная читается, увеличивается на единицу и записывается обратно.

Вход
ПеременнаяS
Константа
Математика
Установить переменную
Шаблон
Выход
  • Исполнение + данные
  • Данные
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

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

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

Это единственный способ записать переменную связями на холсте. Разделение простое: Переменная объявляет имя, тип и область хранения и читает значение, а эта нода пишет. Второй путь записи — нода 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Данныеdataobject

Настройки

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

Общие поля

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

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.
  • split_ports_in — Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.
  • split_ports_out — Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.