mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
70554e24b1
* Update Russian Locale * Upd ru translation for "timestamp" * Improve node help texts for ru locale * Improve editor texts for ru locale
91 lines
5.4 KiB
HTML
91 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="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 может использоваться для обработки ошибок. Чтобы можно было ловить оповещения об ошибке, при вызове <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>
|