mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
62 lines
3.8 KiB
HTML
62 lines
3.8 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-Funktion zur Weiterverarbeitung eingehender Nachrichten.</p>
|
|
<p>Die empfangenen Nachrichten werden der Funktion als JavaScript-Objekt mit dem Namen <code>msg</code> übergeben.</p>
|
|
<p>Per Konvention enthält die <code>msg.payload</code>-Eigenschaft die eigentliche Nachricht.</p>
|
|
<p>Von der Funktion wird erwartet, dass sie ein (oder mehrere) Nachrichtenobjekt(e) zurückgibt.
|
|
Es kann aber auch nichts zurückgeben werden, um einen Flow zu stoppen.</p>
|
|
<p>In den <b>Start</b>-Tab kann Code eingetragen werden, der beim Node-Start ausgeführt wird.
|
|
In den <b>Stopp</b>-Tab kann Code eingetragen werden, der beim Node-Stopp ausgeführt wird.</p>
|
|
<p>Wenn ein promise-Objekt aus dem Start-Code zurückgegeben wird,
|
|
beginnt danach die reguläre Verarbeitung der Eingangsnachrichten.</p>
|
|
<h3>Details</h3>
|
|
<p>Siehe <a target="_blank" href="https://nodered.org/docs/writing-functions.html">Onlinedokumentation</a>
|
|
für weitere Informationen zum Schreiben von Funktionen.</p>
|
|
<h4><b>Nachrichten senden</b></h4>
|
|
<p>Die Funktion kann die Nachrichten zurückgeben, die sie an die nächsten Nodes im Flow weitergeben möchte,
|
|
oder kann <code>node.send(msg)</code> aufrufen.</p>
|
|
<p>Es kann folgendes zurückgeben/senden werden:</p>
|
|
<ul>
|
|
<li>Ein einzelnes Nachrichtenobjekt, das an Nodes am ersten Ausgang übergeben wird</li>
|
|
<li>Ein Array von Nachrichtenobjekten, die an die Nodes an den entsprechenden Ausgängen übergeben werden</li>
|
|
</ul>
|
|
<p><b>Hinweis</b>: Der Start-Code wird nur während der Initialisierung des Nodes ausgeführt.
|
|
Wenn <code>node.send</code> im Start-Code aufgerufen wird, können nachfolgende Nodes die Nachricht möglicherweise nicht empfangen.</p>
|
|
<p>Wenn ein Element des Arrays selbst ein Array von Nachrichten ist, werden mehrere Nachrichten an den entsprechenden Ausgang gesendet.</p>
|
|
<p>Wenn null zurückgegeben wird, entweder direkt oder als ein Array-Element, wird keine Nachricht weitergegeben.</p>
|
|
<h4><b>Protokollierung und Fehlerbehandlung</b></h4>
|
|
<p>Um alle Informationen zu protokollieren oder einen Fehler zu melden, sind die folgenden Funktionen verfügbar:</p>
|
|
<ul>
|
|
<li><code>node.log("Protokollnachricht")</code></li>
|
|
<li><code>node.warn("Warnmeldungstext")</code></li>
|
|
<li><code>node.error("Fehlermeldungstext")</code></li>
|
|
</ul>
|
|
</p>
|
|
<p>Der catch-Node kann auch zur Bearbeitung von Fehlern verwendet werden.
|
|
Er wird aufgerufen, indem <code>msg</code> als zweites Argument an <code>node.error</code> übergeben wird:</p>
|
|
<pre>node.error("Fehlermeldungstext" ,msg);</pre>
|
|
<h4><b>Zugriff auf Node-Informationen</b></h4>
|
|
<p>Im Funktionsblock können die ID und der Name des Nodes mit den folgenden Eigenschaften referenziert werden:</p>
|
|
<ul>
|
|
<li><code>node.id</code> - ID des Nodes</li>
|
|
<li><code>node.name</code> - Name des Nodes</li>
|
|
</ul>
|
|
<h4><b>Umgebungsvariablen verwenden</b></h4>
|
|
<p>Auf Umgebungsvariablen kann mit <code>env.get("Umgebungsvariablenname")</code> zugegriffen werden.</p>
|
|
</script>
|