Документация 0.4 Справочник действий
Если
control.if · Управление · контейнер
Выполняет «То» или «Иначе» в зависимости от условия
Выполняет шаги ветки „То“, если условие истинно, иначе — шаги ветки „Иначе“. Ветку „Иначе“ можно оставить пустой. Условие — для проверок данных („сумма больше лимита?“), результата шага („элемент найден?“) и выбора пути процесса.
Свойства #
| Свойство | Имя в файле | Значение | Обязательное | По умолчанию | Описание |
|---|---|---|---|---|---|
| Условие | condition |
выражение | да | — | JS-выражение, напр. count > 0 |
Результат #
Действие не возвращает значений.
Вложенные шаги #
| Ветка | Имя в файле |
|---|---|
| То | then |
| Иначе | else |
Как работает #
- Условие (
condition) — выражение JavaScript без{{ }}:total > 10,found,!found,status === 'Оплачен',/^Z-\d{6}$/.test(requestNumber). - Результат понимается по правилам JavaScript: ложны
false,0, пустая строка,nullиundefined, остальное истинно. Надёжнее сравнивать явно:count > 0,item !== null. - Ветки — обычные последовательности шагов; в них можно класть любые действия, в том числе другие условия и циклы.
Ошибки #
| Код | Причина и что делать |
|---|---|
ExpressionError |
Ошибка в выражении условия: опечатка в имени переменной, текст без кавычек, {{ }} в поле выражения |
Ошибки шагов внутри веток поднимаются выше, как у шагов без условия.
Пример #
{
"type": "control.if",
"props": { "condition": "result === `Привет, ${userName}!`" },
"children": {
"then": [ { "type": "control.log", "props": { "level": "info", "message": "Проверка пройдена: {{ result }}" } } ],
"else": [ { "type": "control.throw", "props": { "message": "Неожиданный результат: {{ result }}" } } ]
}
}