Aller au contenu principal

Noeud function

Le noeud function est utilisé pour écrire du code JavaScript personnalisé, permettant des calculs complexes, des transformations de données et une logique de traitement des messages. Il offre la flexibilité d'implémenter une logique qui n'est pas supportée par les noeuds standard.


Paramètres pour le noeud function

IMG2

1. Nom

Un champ pour spécifier le nom du noeud.
Le nom est affiché dans l'espace de travail et aide à identifier facilement le noeud.
S'il est laissé vide, le noeud sera appelé function.

Exemple :

  • Nom du noeud : auth data

2. Fonction

Ce champ est l'endroit où le code JavaScript est saisi, qui sera exécuté pour chaque message passant par le noeud.

Format des données d'entrée :

Le code reçoit un objet msg, représentant le message actuel.

Format des données de sortie :

  • Le noeud doit retourner un objet message (ou un tableau d'objets) pour transmettre les données plus loin dans le flux.
  • Si null est retourné, le message ne sera pas envoyé plus loin.

Exemple :

// Incrémente la valeur de msg.payload de 1
msg.payload = msg.payload + 1;
return msg;

Exemples d'utilisation

Exemple 1 : Multiplier la valeur dans msg.payload

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

Description :

  • Prend la valeur de msg.payload, la multiplie par 2 et envoie l'objet mis à jour.

Exemple 2 : Ajouter une nouvelle propriété

msg.newProperty = "Bonjour, le monde !";
return msg;

Description :

  • Crée une nouvelle propriété newProperty et l'ajoute à l'objet msg.

Exemple 3 : Traitement conditionnel des messages

if (msg.payload > 100) {
msg.alert = "Valeur élevée détectée !";
} else {
msg.alert = "La valeur est normale.";
}
return msg;

Description :

  • Ajoute une propriété alert avec un message d'avertissement en fonction de la valeur de msg.payload.

Exemple 4 : Filtrer les messages

if (msg.payload > 50) {
return msg; // Passe le message plus loin
}
return null; // Arrête le message

Description :

  • Ne passe que les messages avec msg.payload > 50, tandis que les autres sont arrêtés.