90 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!--
 | ||
|   Copyright JS Foundation and other contributors, http://js.foundation
 | ||
| 
 | ||
|   Licensed under the Apache License, Version 2.0 (the "License");
 | ||
|   you may not use this file except in compliance with the License.
 | ||
|   You may obtain a copy of the License at
 | ||
| 
 | ||
|   http://www.apache.org/licenses/LICENSE-2.0
 | ||
| 
 | ||
|   Unless required by applicable law or agreed to in writing, software
 | ||
|   distributed under the License is distributed on an "AS IS" BASIS,
 | ||
|   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | ||
|   See the License for the specific language governing permissions and
 | ||
|   limitations under the License.
 | ||
| -->
 | ||
| 
 | ||
| <script type="text/html" data-help-name="function">
 | ||
|   <p>
 | ||
|     Исполняет JavaScript функцию (введенную в настройках, во вкладке <b>Функция</b>) для всех получаемых узлом сообщений.
 | ||
|   </p>
 | ||
|   <p>
 | ||
|     Сообщения передаются в виде объекта JavaScript с именем <code>msg</code>.
 | ||
|   </p>
 | ||
|   <p>
 | ||
|     Обычно у объекта есть свойство <code>msg.payload</code>, содержащее тело сообщения.
 | ||
|   </p>
 | ||
|   <p>
 | ||
|     Ожидается, что функция вернет объект сообщения (или несколько объектов сообщения), которые будут отправлены следующим узлам в потоке, но может также ничего не возвращать, чтобы остановить поток.
 | ||
|   </p>
 | ||
|   <p>
 | ||
|     Код настройки, выполняемый один раз при запуске сервера или при развертывании новой конфигурации потока, можно ввести во вкладке <b>Настройка</b>. Также во вкладке <b>Закрытие</b> можно ввести код очистки, выполняемый при остановке или повторном развертывании узла.
 | ||
|   </p>
 | ||
|   <p>
 | ||
|     Если код настройки возвращает Promise объект, тогда обработка входящих сообщений узлом начнется после его завершения.
 | ||
|   </p>
 | ||
| 
 | ||
|   <h3>Подробности</h3>
 | ||
|   <p>
 | ||
|     Смотрите <a target="_blank" href="https://nodered.org/docs/writing-functions.html">онлайн-документацию</a> для получения дополнительной информации по написанию функций.
 | ||
|   </p>
 | ||
| 
 | ||
|   <h4>Отправка сообщений</h4>
 | ||
|   <p>
 | ||
|     Функция может либо вернуть сообщения, которые она хочет передать следующим узлам в потоке, либо вызвать <code>node.send(сообщения)</code>.
 | ||
|   </p>
 | ||
|   <p>
 | ||
|     Она может вернуть/отправить:
 | ||
|   </p>
 | ||
|   <ul>
 | ||
|     <li>один объект сообщения - передается узлам, подключенным к первому порту выхода</li>
 | ||
|     <li>массив объектов сообщений - передается на узлы, подключенные к соответствующим портам выхода</li>
 | ||
|   </ul>
 | ||
|   <p>
 | ||
|     Примечание: код настройки выполняется во время инициализации узлов. Таким образом, если на вкладке настройки кода вызывается <code>node.send</code>, последующие узлы могут не получить это сообщение.
 | ||
|   </p>
 | ||
|   <p>
 | ||
|     Если какой-либо элемент массива сам является массивом сообщений, тогда на соответствующий выход отправляется несколько сообщений.
 | ||
|   </p>
 | ||
|   <p>
 | ||
|     Если возвращен null, либо сам по себе, либо как элемент массива, тогда сообщение не передается.
 | ||
|   </p>
 | ||
| 
 | ||
|   <h4>Ведение журнала и обработка ошибок</h4>
 | ||
|   <p>
 | ||
|     Для добавления информации в журнал или сообщения об ошибке доступны следующие функции:
 | ||
|   </p>
 | ||
|   <ul>
 | ||
|     <li><code>node.log("Сообщение для журнала")</code></li>
 | ||
|     <li><code>node.warn("Предупреждение")</code></li>
 | ||
|     <li><code>node.error("Ошибка")</code></li>
 | ||
|   </ul>
 | ||
|   <p>
 | ||
|     Также узел Catch может использоваться для обработки ошибок. Чтобы можно было ловить оповещения об ошибке, при вызове <code>node.error</code> передайте <code>msg</code> в качестве второго аргумента:
 | ||
|   </p>
 | ||
|   <pre>node.error("Ошибка", msg);</pre>
 | ||
| 
 | ||
|   <h4>Доступ к информации об узле</h4>
 | ||
|   <p>
 | ||
|     В функции можно обращаться к идентификатору и имени узла, используя следующие свойства:
 | ||
|   </p>
 | ||
|   <ul>
 | ||
|     <li><code>node.id</code> - идентификатор узла</li>
 | ||
|     <li><code>node.name</code> - имя узла</li>
 | ||
|   </ul>
 | ||
| 
 | ||
|   <h4>Использование переменных среды</h4>
 | ||
|   <p>
 | ||
|     Доступ к переменным среды можно получить с помощью <code>env.get("MY_ENV_VAR")</code>.
 | ||
|   </p>
 | ||
| </script>
 |