node-red/packages/node_modules/@node-red/nodes/locales/nl-NL/sequence/17-split.html

173 lines
11 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="split">
<p>Splitst een bericht in een reeks berichten.</p>
<h3>Invoer</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object | string | array | buffer</span></dt>
<dd>Het gedrag van de node wordt bepaald door het type van <code>msg.payload</code>:
<ul>
<li><b>string</b>/<b>buffer</b> - het bericht wordt gesplitst met het opgegeven teken (standaard: <code>\n</code>), bufferreeks of in vaste lengtes.</li>
<li><b>array</b> - het bericht wordt gesplitst in individuele array-elementen, of arrays met een vaste lengte.</li>
<li><b>object</b> - er wordt een bericht verzonden voor elk sleutel/waarde-paar van het object.</li>
</ul>
</dd>
</dl>
<h3>Uitvoer</h3>
<dl class="message-properties">
<dt>parts<span class="property-type">object</span></dt>
<dd>Deze eigenschap bevat informatie over hoe het bericht is gesplitst van
het oorspronkelijke bericht. Als het aan de <b>join</b> node wordt doorgegeven, kan de reeks worden
samengesteld tot een enkel bericht. De eigenschap heeft de volgende eigenschappen:
<ul>
<li><code>id</code> - een identificatie voor de groep berichten</li>
<li><code>index</code> - de positie binnen de groep</li>
<li><code>count</code> - indien bekend, het totale aantal berichten in de groep. Zie 'streaming modus' hieronder.</li>
<li><code>type</code> - het type bericht - string/array/object/buffer</li>
<li><code>ch</code> - voor een string of buffer, de gegevens gebruikt om het bericht te splitsen als string of een array van bytes</li>
<li><code>key</code> - voor een object, de sleutel van de eigenschap waaruit dit bericht is gemaakt. De node kan worden geconfigureerd om deze waarde ook naar andere berichteigenschappen te kopieren, zoals <code>msg.topic</code>.</li>
<li><code>len</code> - de lengte van elk bericht bij splitsen met een vaste lengtewaarde</li>
</ul>
</dd>
</dl>
<h3>Details</h3>
<p>Deze node maakt het gemakkelijk om een flow te maken die algemene acties uitvoert over
een reeks berichten voordat, met behulp van de <b>join</b> node, de
reeks wordt samengevoegd tot een enkel bericht.</p>
<p>Het gebruikt de <code>msg.parts</code> eigenschap om de individuele delen
van een reeks bij te houden.</p>
<h4>Streaming modus</h4>
<p>De node kan ook worden gebruikt om een stroom berichten te herordenen. Bijvoorbeeld, een
serieel apparaat dat newline-getermineerde commando's verzendt, kan een enkel bericht
met een gedeeltelijk commando aan het einde leveren. In 'streaming modus' zal deze node
een bericht splitsen en elk volledig segment verzenden. Als er een gedeeltelijk segment aan het einde is,
houdt de node dit vast en voegt het toe aan het volgende bericht dat wordt ontvangen.
</p>
<p>Bij gebruik in deze modus stelt de node de <code>msg.parts.count</code>
eigenschap niet in omdat het niet weet hoeveel berichten in de stroom te verwachten zijn. Dit
betekent dat het niet kan worden gebruikt met de <b>join</b> node in zijn automatische modus.</p>
</script>
<script type="text/html" data-help-name="join">
<p>Voegt reeksen berichten samen tot een enkel bericht.</p>
<p>Er zijn drie modi beschikbaar:</p>
<dl>
<dt>automatisch</dt>
<dd>Wanneer gekoppeld aan de <b>split</b> node, zal het automatisch de berichten samenvoegen om de splitsing die werd uitgevoerd ongedaan te maken.</dd>
<dt>handmatig</dt>
<dd>Voeg reeksen berichten samen op verschillende manieren.</dd>
<dt>reduceer reeks</dt>
<dd>Pas een expressie toe op alle berichten in een reeks om deze te reduceren tot een enkel bericht.</dd>
</dl>
<h3>Invoer</h3>
<dl class="message-properties">
<dt class="optional">parts<span class="property-type">object</span></dt>
<dd>Om automatisch een reeks berichten samen te voegen, moeten ze allemaal
deze eigenschap hebben ingesteld. De <b>split</b> node genereert deze eigenschap, maar het
kan handmatig worden gemaakt. Het heeft de volgende eigenschappen:
<ul>
<li><code>id</code> - een identificatie voor de groep berichten</li>
<li><code>index</code> - de positie binnen de groep</li>
<li><code>count</code> - het totale aantal berichten in de groep</li>
<li><code>type</code> - het type bericht - string/array/object/buffer</li>
<li><code>ch</code> - voor een string of buffer, de gegevens gebruikt om het bericht te splitsen als string of een array van bytes</li>
<li><code>key</code> - voor een object, de sleutel van de eigenschap waaruit dit bericht is gemaakt</li>
<li><code>len</code> - de lengte van elk bericht bij splitsen met een vaste lengtewaarde</li>
</ul>
</dd>
<dt class="optional">complete</dt>
<dd>Indien ingesteld, voegt de node de payload toe en verzendt vervolgens het uitvoerbericht in zijn huidige staat.
Als je de payload niet wilt toevoegen, verwijder deze dan uit de msg.</dd>
<dt class="optional">reset</dt>
<dd>Indien ingesteld, wist de node elk gedeeltelijk volledig bericht en verzendt het niet.</dd>
<dt class="optional">restartTimeout</dt>
<dd>Indien ingesteld, en de node heeft een timeout geconfigureerd, wordt die timeout herstart.</dd>
</dl>
<h3>Details</h3>
<h4>Automatische modus</h4>
<p>Automatische modus gebruikt de <code>parts</code> eigenschap van inkomende berichten om
te bepalen hoe de reeks moet worden samengevoegd. Hierdoor kan het automatisch
de actie van een <b>split</b> node ongedaan maken.</p>
<h4>Handmatige modus</h4>
<p>Wanneer geconfigureerd om in handmatige modus samen te voegen, kan de node reeksen
van berichten samenvoegen tot verschillende resultaten:</p>
<ul>
<li>een <b>string</b> of <b>buffer</b> - gemaakt door de geselecteerde eigenschap van elk bericht samen te voegen met de opgegeven tekens of buffer.</li>
<li>een <b>array</b> - gemaakt door elke geselecteerde eigenschap, of volledig bericht, aan de uitvoerarray toe te voegen.</li>
<li>een <b>sleutel/waarde object</b> - gemaakt door een eigenschap van elk bericht te gebruiken om de sleutel te bepalen waaronder
de vereiste waarde wordt opgeslagen.</li>
<li>een <b>samengevoegd object</b> - gemaakt door de eigenschap van elk bericht samen te voegen onder een enkel object.</li>
</ul>
<p>De andere eigenschappen van het uitvoerbericht worden overgenomen van het laatst ontvangen bericht voordat het resultaat wordt verzonden.</p>
<p>Een <i>telling</i> kan worden ingesteld voor hoeveel berichten moeten worden ontvangen voordat het uitvoerbericht wordt gegenereerd.
Voor objectuitvoer kan de node, zodra deze telling is bereikt, worden geconfigureerd om een bericht te verzenden voor elk volgend bericht
dat wordt ontvangen.</p>
<p>Een <i>timeout</i> kan worden ingesteld om het verzenden van het nieuwe bericht te activeren met wat tot nu toe is ontvangen.
Deze timeout kan worden herstart door een bericht te verzenden met de <code>msg.restartTimeout</code> eigenschap ingesteld.</p>
<p>Als een bericht wordt ontvangen met de <code>msg.complete</code> eigenschap ingesteld, wordt het uitvoerbericht gefinaliseerd en verzonden.
Dit reset alle deeltellingen.</p>
<p>Als een bericht wordt ontvangen met de <code>msg.reset</code> eigenschap ingesteld, wordt het gedeeltelijk voltooide bericht verwijderd en niet verzonden.
Dit reset alle deeltellingen.</p>
<h4>Reduceer Reeks modus</h4>
<p>Wanneer geconfigureerd om in reduceermodus samen te voegen, wordt een expressie toegepast op elk
bericht in een reeks en het resultaat geaccumuleerd om een enkel bericht te produceren.</p>
<dl class="message-properties">
<dt>Beginwaarde</dt>
<dd>De beginwaarde van de geaccumuleerde waarde (<code>$A</code>).</dd>
<dt>Reduceer-expressie</dt>
<dd>Een JSONata-expressie die wordt aangeroepen voor elk bericht in de reeks.
Het resultaat wordt doorgegeven aan de volgende aanroep van de expressie als de geaccumuleerde waarde.
In de expressie kunnen de volgende speciale variabelen worden gebruikt:
<ul>
<li><code>$A</code>: de geaccumuleerde waarde, </li>
<li><code>$I</code>: index van het bericht in de reeks, </li>
<li><code>$N</code>: aantal berichten in de reeks.</li>
</ul>
</dd>
<dt>Herstel-expressie</dt>
<dd>Een optionele JSONata-expressie die wordt toegepast nadat de reduceer-expressie
is toegepast op alle berichten in de reeks.
In de expressie kunnen de volgende speciale variabelen worden gebruikt:
<ul>
<li><code>$A</code>: de geaccumuleerde waarde, </li>
<li><code>$N</code>: aantal berichten in de reeks.</li>
</ul>
</dd>
<p>Standaard wordt de reduceer-expressie in volgorde toegepast, van het eerste
tot het laatste bericht van de reeks. Het kan optioneel in omgekeerde
volgorde worden toegepast.</p>
<p>$N is het aantal berichten dat aankomt - zelfs als ze identiek zijn.</p>
</dl>
<p><b>Voorbeeld:</b> de volgende instellingen, gegeven een reeks numerieke waarden,
berekent de gemiddelde waarde:
<ul>
<li><b>Reduceer-expressie</b>: <code>$A+payload</code></li>
<li><b>Beginwaarde</b>: <code>0</code></li>
<li><b>Herstel-expressie</b>: <code>$A/$N</code></li>
</ul>
</p>
<h4>Berichten opslaan</h4>
<p>Deze node buffert intern berichten om over reeksen te werken. De
runtime-instelling <code>nodeMessageBufferMaxLength</code> kan worden gebruikt om te beperken hoeveel berichten nodes
zullen bufferen.</p>
</script>