Nœud ForEach
Le nœud ForEach permet d'exécuter une séquence de nœuds pour chaque élément d'un tableau.
Vue d'ensemble
Ce nœud est utilisé pour :
- Traiter chaque élément d'un tableau
- Appliquer la même logique à plusieurs éléments
- Parcourir des collections de données
- Effectuer des opérations en boucle
Configuration
Array
Spécifiez le tableau à parcourir :
- Variable du contexte :
{{items}} - Propriété d'un objet :
{{order.items}} - Résultat d'un nœud précédent :
{{httpRequest.body.results}}
Variable d'itération
Nom de la variable qui contiendra l'élément courant :
- Par défaut :
item - Peut être personnalisé :
orderItem,product, etc. - Accessible dans les nœuds suivants :
{{item}}ou{{orderItem}}
Index
Nom de la variable pour l'index (optionnel) :
- Par défaut :
index - Contient la position de l'élément dans le tableau (0, 1, 2, ...)
- Accessible :
{{index}}
Traitement par lots
Option permettant de parcourir le tableau en le découpant en lots :
- Utile pour traiter de grandes quantités de données
- Permet de gérer la charge de traitement
- Configurez la taille des lots selon vos besoins
Comportement
Exécution
- Le tableau est parcouru élément par élément
- Pour chaque élément :
- La variable d'itération est définie
- Les nœuds suivants sont exécutés
- Le contexte est mis à jour
- La boucle continue jusqu'à ce que tous les éléments soient traités
Contexte dans la boucle
Dans les nœuds à l'intérieur de la boucle :
{{item}}: L'élément courant{{index}}: L'index de l'élément- Les données du contexte parent restent accessibles
Exemples
Exemple 1 : Traiter des commandes
Configuration :
- Array :
{{orders}} - Variable :
order
Résultat :
- Chaque commande est traitée individuellement
{{order}}contient la commande courante
Exemple 2 : Envoyer des emails
Configuration :
- Array :
{{users}} - Variable :
user
Workflow :
- ForEach sur
{{users}} - Nœud Send Email avec
{{user.email}} - Chaque utilisateur reçoit un email
Exemple 3 : Appels API multiples
Configuration :
- Array :
{{productIds}} - Variable :
productId
Workflow :
- ForEach sur
{{productIds}} - HTTP Request vers
/api/products/{{productId}} - Traitement de chaque produit
Bonnes pratiques
- Performance : Évitez les boucles sur de très grands tableaux
- Gestion d'erreurs : Utilisez On Error pour gérer les erreurs dans la boucle
- Nommage : Utilisez des noms de variables clairs (
orderItemplutôt queitem) - Documentation : Documentez ce que la boucle fait