Node-RED:Библиотеки/node-red/Function: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 80: | Строка 80: | ||
|Ключевые слова=Function, function, node function, nodered node function, nodered function, нода function, нода модуля node-red function, нода агтсешщт, тщву агтсешщт, тщвукув агтсешщт, тщвукув тщву агтсешщт | |Ключевые слова=Function, function, node function, nodered node function, nodered function, нода function, нода модуля node-red function, нода агтсешщт, тщву агтсешщт, тщвукув агтсешщт, тщвукув тщву агтсешщт | ||
|Описание статьи=Здесь можно задать JavaScript-функцию, которая будет применена к сообщениям, получаемым нодой. | |Описание статьи=Здесь можно задать JavaScript-функцию, которая будет применена к сообщениям, получаемым нодой. | ||
|Изображение статьи для Open Graph= | |Изображение статьи для Open Graph={{filepath:Nodered node function.png}} | ||
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Node-RED:Библиотеки/node-red/Function</nowiki> | |Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Node-RED:Библиотеки/node-red/Function</nowiki> | ||
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki> | |Изображение статьи для schemaNewsArticle=<nowiki></nowiki> |
Версия от 18:45, 30 мая 2019
Нода «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("МОЯ_ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ").
См.также
Внешние ссылки
{{#set: |Название=Function |Метки=Function, function, node function, nodered node function, nodered function, нода function, нода модуля node-red function, нода агтсешщт, тщву агтсешщт, тщвукув агтсешщт, тщвукув тщву агтсешщт|+sep=,
|Описание=
Здесь можно задать JavaScript-функцию, которая будет применена к сообщениям, получаемым нодой. |Полная ссылка на страницу=Function }}