Node-RED:Библиотеки/node-red/Switch: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 50: | Строка 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-18 | |||
|Автор=Мякишев Е.А. | |||
|Издатель=myagkij | |||
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki> | |||
|Ширина логотипа издателя для schemaNewsArticle=60 | |||
|Высота логотипа издателя для schemaNewsArticle=45 | |||
}} |
Версия от 22:07, 19 июня 2019
Нода «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».
См.также
Внешние ссылки
{{#set: |Название=Нода «Switch» |Метки=ыцшеср, нода ыцшеср, node switch, node-red switch, нода switch, switch нода|+sep=,
|Описание=
Направляет сообщения по нужным маршрутам, исходя из их позиции в серии сообщений или значений. |Полная ссылка на страницу=Нода «Switch» }}