1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00
node-red/packages/node_modules/@node-red/nodes/locales/ru/function/10-function.html

91 lines
5.3 KiB
HTML
Raw Normal View History

2020-11-12 18:01:44 +01:00
<!--
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="http://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 также может использоваться для обработки ошибок. Чтобы узел Catch мог ловить сообщение об ошибке, передайте <code>msg</code> в качестве второго аргумента в <code>node.error</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>