Aller au contenu principal

Nœud While

Le nœud While permet d'exécuter une séquence de nœuds tant qu'une condition est vraie. Il permet de répéter une opération jusqu'à ce qu'une condition soit remplie, d'attendre qu'un état change, d'implémenter des boucles conditionnelles ou de faire du polling jusqu'à obtention d'un résultat.

Paramètres​

ParamètreTypeObligatoireDéfautDescription
ConditionJavaScript (booléen)✅—Exécutez du code JavaScript qui retourne un booléen pour déterminer si on reste dans la boucle ou si on en sort.
Mode de boucleWhile / Do while✅—Choix du comportement : While ou Do while.

Condition​

Exécutez du code JavaScript qui retourne un booléen :

  • true : la boucle continue
  • false : la boucle s'arrête

Exemples :

context.data.status !== "completed"
context.variables.attempts < 5
context.lastResponse.data === undefined

Mode de boucle​

Le toggle permet de choisir entre deux modes :

  • While (Tant que) : vérifie la condition avant d'exécuter le code de la boucle
  • Do while (Faire tant que) : exécute le code au moins une fois, puis vérifie la condition

Exécution​

  1. La condition est évaluée
  2. Selon le mode choisi :
    • While : exécute la boucle si la condition est true
    • Do while : exécute d'abord la boucle, puis vérifie la condition
  3. La condition est réévaluée à chaque cycle
  4. La boucle s'arrête quand la condition retourne false

Entrée​

Le nœud évalue sa condition à partir des variables du contexte du flux ({{status}}, {{attempts}}, {{response.data}}, etc.) :

{
"status": "processing",
"attempts": 2
}

Sortie​

Le nœud While ne produit pas de donnée propre : il contrôle l'exécution des nœuds de la boucle. Le contexte reste accessible aux nœuds de la boucle et peut être mis à jour par eux (ex. un compteur attempts incrémenté).

Exemple​

Exemple 1 : Attendre un statut​

Condition : {{order.status}} !== "processed"

Flux :

  1. While : Tant que le statut n'est pas "processed"
  2. Requête HTTP(S) : Vérifier le statut
  3. Wait : Attendre 5 secondes
  4. Retour à l'étape 1

Exemple 2 : Retry en mode Do while​

Condition : {{attempts}} < 3 && {{success}} === false

Flux :

  1. Do while : Exécuter une première tentative, puis continuer tant que attempts < 3 et success = false
  2. Requête HTTP(S) : Tenter l'opération
  3. Condition : Vérifier le succès
  4. Incrémenter attempts
Risque de boucle infinie

Assurez-vous que la condition peut devenir false (compteur, statut qui change) et ajoutez un nœud Wait dans la boucle pour éviter une boucle trop rapide qui saturerait l'exécution.

Voir aussi​