Noeud function
Le noeud function est utilisé pour écrire du code JavaScript personnalisé, permettant d'effectuer des calculs complexes, des transformations de données et une logique de traitement des messages. Il offre la flexibilité pour mettre en œuvre une logique qui n'est pas prise en charge par les noeuds standard.
Paramètres du noeud function

1. Nom
Champ pour indiquer le nom du noeud.
Le nom s'affiche dans l'espace de travail et aide à identifier facilement le noeud.
S'il est laissé vide, le noeud sera nommé function.
Exemple :
- Nom du noeud :
auth data
2. Fonction
Dans ce champ, vous saisissez le code JavaScript 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 retour :
- Le noeud doit retourner un objet message (ou un tableau d'objets) pour transmettre les données plus loin dans le flux.
- Si
nullest retourné, le message ne sera pas envoyé plus loin.
Exemple :
// Augmente la valeur de msg.payload de 1
msg.payload = msg.payload + 1;
return msg;
3. Exemple de sortie (JSON)
Exemple de données que la fonction retourne, au format JSON.
Cet exemple sert de base pour construire le schéma de données pour le noeud suivant — ses champs apparaissent dans le bloc Input Schema du noeud suivant. L'éditeur compare l'exemple avec le code de la fonction.
Les champs de l'exemple décrivent la racine de l'objet msg, et non msg.payload : la fonction retourne le message dans son intégralité.
L'exemple sert également de données de test : si, en appuyant sur le bouton Execute dans l'un des noeuds suivants (admin-api, http request), la fonction ne transmet pas les données plus loin, la valeur de ce champ est utilisée.
Exemple :
{
"payload": {
"orderId": 123,
"status": "paid"
}
}
Exemples d'utilisation
Exemple 1 : Multiplication de 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 : Ajout d'une nouvelle propriété
msg.newProperty = "Hello, World!";
return msg;
Description :
- Crée une nouvelle propriété
newPropertyet l'ajoute à l'objetmsg.
Exemple 3 : Traitement conditionnel des messages
if (msg.payload > 100) {
msg.alert = "High value detected!";
} else {
msg.alert = "Value is normal.";
}
return msg;
Description :
- Ajoute une propriété
alertavec un message d'avertissement en fonction de la valeur demsg.payload.
Exemple 4 : Filtrage des messages
if (msg.payload > 50) {
return msg; // Transmettre le message plus loin
}
return null; // Arrêter le message
Description :
- Ne passe que les messages avec
msg.payload > 50, les autres sont arrêtés.