Node-RED:Библиотеки/node-red/Switch: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Строка 1: Строка 1:
{{Node-RED/Панель перехода}}
{{Node-RED/Панель перехода}}
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
Строка 51: Строка 50:
[[Категория:Нода модуля node-red]]
[[Категория:Нода модуля node-red]]
[[Категория:Нода node-red]]
[[Категория:Нода node-red]]
{{ИнфоОСтр
|Название=Нода «Switch»
|Метки=ыцшеср, нода ыцшеср, node switch, node-red switch, нода switch, switch нода
|Описание=
[[Файл:Nodered node switch.png|center]]
Направляет сообщения по нужным маршрутам, исходя из их позиции в серии сообщений или значений.
}}
{{SEO
|Заголовок статьи=Node-RED:Нода «Switch» / Онлайн справочник - wikihandbk.com
|Ключевые слова=ыцшеср, нода ыцшеср, node switch, node-red switch, нода switch, switch нода
|Описание статьи=Направляет сообщения по нужным маршрутам, исходя из их позиции в серии сообщений или значений.
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Node-RED:Библиотеки/node-red/Switch</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2019-05-21
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}

Текущая версия от 11:11, 24 сентября 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Нода «Switch»

Направляет сообщения по нужным маршрутам, исходя из их позиции в серии сообщений или значений.

Подробное описание

Когда сообщение прибывает в ноду «Switch», она сверяется с заданными внутри нее правилами, а затем направляет это сообщение в порт, который соответствует всем заданным правилам.

Опционально ноду «Switch» можно настроить так, чтобы она перестала сверяться с правилами после самого первого совпадения.

Правило можно применить к отдельному свойству сообщения, свойству из глобального контекста, свойству из контекста потока или результату JSONata-выражения.

Правила

Есть 4 типа правил:

  • Правила «value rules» – применяются относительно заданного свойства
  • Правила «sequence rules» – применяются относительно серии сообщений (например, сгенерированных нодой «Split»)
  • Правило «JSONata exp» – здесь можно задать JSONata-выражение, которое будет применено ко всему сообщению. Если выражение вернет «true», это будет значить, что совпадение есть
  • Правило «otherwise» – на случай, если ни одно из других правил не сработает

Примечания

Правила «is true», «is false» и «is null» сравнивают только относительно своих типов данных. То есть они, выполняя сравнение, не выполняют конвертирования данных.

Правило «is empty» сработает на строках, массивах и буферах с длиной «0» или на объектах без свойств. На значениях «null» и «undefined» оно не сработает.

Управление сериями сообщений

По умолчанию нода «Switch» не модифицирует свойство «msg.parts», которое есть у сообщений, являющихся частью серии сообщений.

Но если вы хотите сгенерировать новые серии сообщений для каждого сработавшего правила, поставьте галочку рядом с пунктом «recreate message sequences» (он находится в самом низу меню редактирования ноды «Switch»). В этом режиме нода «Switch» будет собирать сообщения, прошедшие проверку, в буфер, а затем, когда их наберется достаточно, отправит эту серию сообщений дальше в поток. То, сколько сообщений может быть в этом буфере, задается в настройке среды выполнения «nodeMessageBufferMaxLength».

См.также

Внешние ссылки