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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
{{Node-RED/Панель перехода}}
{{Node-RED/Панель перехода}}
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
Строка 42: Строка 41:
Для обработки ошибок можно воспользоваться нодой '''«Catch»'''. Чтобы ''«пробудить»'' ноду '''«Catch»''', в функцию '''node.error()''' нужно добавить второй параметр – объект '''«msg»''':
Для обработки ошибок можно воспользоваться нодой '''«Catch»'''. Чтобы ''«пробудить»'' ноду '''«Catch»''', в функцию '''node.error()''' нужно добавить второй параметр – объект '''«msg»''':


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
node.error("Ошибка",msg);
node.error("Ошибка",msg);
</syntaxhighlight>
</syntaxhighlight>
Строка 62: Строка 61:
<references />
<references />
{{Навигационная таблица/Node-RED библиотеки}}
{{Навигационная таблица/Node-RED библиотеки}}
{{Навигационная таблица/Телепорт}}
[[Категория:Нода]]
[[Категория:Нода]]
[[Категория:Нода Node-RED]]
[[Категория:Нода Node-RED]]
Строка 68: Строка 68:
[[Категория:Нода модуля node-red]]
[[Категория:Нода модуля node-red]]
[[Категория:Нода node-red]]
[[Категория:Нода node-red]]
{{ИнфоОСтр
|Название=Function
|Метки=Function, function, node function, nodered node function, nodered function, нода function, нода модуля node-red function, нода агтсешщт, тщву агтсешщт, тщвукув агтсешщт, тщвукув тщву агтсешщт
|Описание=[[Файл:Nodered node function.png|center]]
Здесь можно задать [[JavaScript-функцию]], которая будет применена к сообщениям, получаемым нодой.
}}
{{SEO
|Заголовок статьи=Node-RED: Нода Function / Онлайн справочник - wikihandbk.com
|Ключевые слова=Function, function, node function, nodered node function, nodered function, нода function, нода модуля node-red function, нода агтсешщт, тщву агтсешщт, тщвукув агтсешщт, тщвукув тщву агтсешщт
|Описание статьи=Здесь можно задать JavaScript-функцию, которая будет применена к сообщениям, получаемым нодой.
|Изображение статьи для Open Graph={{filepath:Nodered node function.png}}
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Node-RED:Библиотеки/node-red/Function</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
}}

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

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


Нода «Function»

Здесь можно задать JavaScript-функцию, которая будет применена к сообщениям, получаемым нодой.

Входящие сообщения передаются JavaScript-объекту «msg».

Согласно договоренности между разработчиками, в этом объекте должно быть свойство «msg.payload», содержащее тело этого сообщения.

В итоге эта JavaScript-функция, выполнив свои операции, должна вернуть один или несколько объектов «msg», но она может совсем ничего не вернуть, чтобы остановить работу потока.

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

Более подробно о написании JavaScript-функций читайте в этой статье.

Отправка сообщений

Нода «Function» отправляет свои сообщения дальше по потоку либо при помощи возврата сообщения/сообщений, либо при помощи функции node.send(messages).

Нода «Function» может вернуть/отправить:

  • Один объект «msg» – он будет отправлен нодам, подключенным к первому выходному порту
  • Массив объектов «msg» – они будут отправлены нодам, подключенным к соответствующим выходным портам

Если какой-либо элемент массива сам является массивом сообщений, на соответствующий выходной порт будет отправлено несколько сообщений.

Если нода «Function» вернет «null» – либо сама, либо в качестве элемента массива – никакого сообщения отправлено не будет.

Логирование и обработка ошибок

Чтобы записать что-нибудь в логи или сообщить об ошибке, можно воспользоваться функциями ниже:

  • node.log("Сообщение для логов")
  • node.warn("Предупреждение")
  • node.error("Ошибка")

Для обработки ошибок можно воспользоваться нодой «Catch». Чтобы «пробудить» ноду «Catch», в функцию node.error() нужно добавить второй параметр – объект «msg»:

node.error("Ошибка",msg);

Доступ к информации о ноде

В функции ноды «Function» можно использовать данные об ID и названии ноды – при помощи вот этих свойств:

  • «node.id» – ID ноды
  • «node.name» – название ноды

Использование переменных окружения

Доступ к переменным окружения можно получить при помощи функции env.get("МОЯ_ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ").

См.также

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