mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
570e5442e0
Fixes #3230
48 lines
3.1 KiB
HTML
Executable File
48 lines
3.1 KiB
HTML
Executable File
<!--
|
|
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="switch">
|
|
<p>Weiterleitung von Nachrichten basierend auf den Werten ihrer Eigenschaften oder Position in der Sequenz.</p>
|
|
<h3>Details</h3>
|
|
<p>Bei Eingang einer Nachricht wertet der Node einstellbare Regeln aus und
|
|
leitet die Nachricht an den entsprechenden Ausgang der erfüllten Regel weiter.</p>
|
|
<p>Optional kann der Node so eingestellt werden, dass er die Auswertung nach der ersten erfüllten Regel beendet.</p>
|
|
<p>Die Regeln können anhand einer einzelnen Nachrichteneigenschaft, einer Flow- oder globalen Kontext-Eigenschaft oder
|
|
anhand dem Ergebnis eines JSONata-Ausdrucks ausgewertet werden.</p>
|
|
<h4><b>Regeln</b></h4>
|
|
<p>Es gibt vier Regeltypen:</p>
|
|
<ol>
|
|
<li><b>value rules</b>: Regeln werden hinsichtlich einer eingestellten Eigenschaft ausgewertet</li>
|
|
<li><b>sequence rules</b>: Regeln beziehen sich auf Nachrichtensequenzen,
|
|
wie sie beispielsweise durch den split-Node erzeugt werden</li>
|
|
<li>Ein <b>JSONata-Ausdruck</b> kann die gesamte Eingangsnachricht auswerten und einen <code>true</code>-Wert zurückliefern,
|
|
um eine Regelerfüllung zu signalisieren</li>
|
|
<li>Die <b>ansonsten</b>-Regel wird angewendet, wenn keine vorhergehende Regel übereinstimmt</li>
|
|
</ol>
|
|
<h4><b>Bemerkungen</b></h4>
|
|
<p>Die Regeln <code>ist true/false</code> und <code>ist null</code> führen strenge Vergleiche mit diesen Typen durch.
|
|
Sie konvertieren nicht zwischen den Typen.</p>
|
|
<p>Die Regeln <code>ist leer</code> und <code>ist nicht leer</code> können nur für Zeichenfolgen (string), Datenfelder (array) und binäre Puffer (buffer) benutzt werden,
|
|
sowie für Objekte, bei denen auf die Anzahl der Eigenschaften geprüft wird.
|
|
Die Regel ist niemals erfült, wenn die Eigenschaft einen <code>boolean</code>-, <code>null</code>- oder <code>undefined</code>-Wert hat.
|
|
<h4><b>Behandlung von Nachrichtensequenzen</b></h4>
|
|
<p>Standardmäßig ändert der Node nicht die <code>msg.parts</code>-Eigenschaft für Nachrichten, die Teil einer Sequenz sind.</p>
|
|
<p>Bei aktivierter Option <b>Nachrichtensequenzen erzeugen</b> werden Nachrichtensequenzen für jede passende Regel erzeugt.
|
|
In diesem Modus puffert der Node die gesamte eingehende Sequenz, bevor er die neuen Sequenzen weiter sendet.
|
|
Mit der Laufzeiteinstellung <code>nodeMessageBufferMaxLength</code> kann begrenzt werden,
|
|
wie viele Nachrichten im Node zwischengespeichert werden sollen.</p>
|
|
</script>
|