Passa al contenuto principale

Nodo function

Il nodo function viene utilizzato per scrivere codice JavaScript personalizzato, consentendo di eseguire calcoli complessi, trasformazioni dei dati e logica di elaborazione dei messaggi. Fornisce flessibilità per implementare logiche che non sono supportate dai nodi standard.


Impostazioni del nodo function

IMG2

1. Nome

Campo per specificare il nome del nodo.
Il nome viene visualizzato nell'area di lavoro e aiuta a identificare facilmente il nodo.
Se lasciato vuoto, il nodo sarà chiamato function.

Esempio:

  • Nome del nodo: auth data

2. Funzione

In questo campo viene inserito il codice JavaScript che verrà eseguito per ogni messaggio che passa attraverso il nodo.

Formato dei dati in ingresso:

Il codice riceve un oggetto msg, che rappresenta il messaggio corrente.

Formato dei dati restituiti:

  • Il nodo deve restituire un oggetto messaggio (o un array di oggetti) per passare i dati ulteriormente nel flusso.
  • Se restituito null, il messaggio non verrà inviato ulteriormente.

Esempio:

// Incrementa il valore di msg.payload di 1
msg.payload = msg.payload + 1;
return msg;

Esempi di utilizzo

Esempio 1: Moltiplicazione del valore in msg.payload

msg.payload = msg.payload * 2;
return msg;

Descrizione:

  • Prende il valore di msg.payload, lo moltiplica per 2 e invia l'oggetto aggiornato.

Esempio 2: Aggiunta di una nuova proprietà

msg.newProperty = "Hello, World!";
return msg;

Descrizione:

  • Crea una nuova proprietà newProperty e la aggiunge all'oggetto msg.

Esempio 3: Elaborazione condizionale dei messaggi

if (msg.payload > 100) {
msg.alert = "High value detected!";
} else {
msg.alert = "Value is normal.";
}
return msg;

Descrizione:

  • Aggiunge la proprietà alert con un messaggio di avviso a seconda del valore di msg.payload.

Esempio 4: Filtraggio dei messaggi

if (msg.payload > 50) {
return msg; // Passa il messaggio ulteriormente
}
return null; // Ferma il messaggio

Descrizione:

  • Consente solo i messaggi con msg.payload > 50, gli altri vengono bloccati.