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
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'oggettomsg
.
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 dimsg.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.