๐Ÿ‡ฌ๐Ÿ‡ง EN
๐Ÿ‡ฎ๐Ÿ‡น IT

๐Ÿ” Loop

Itera su un array, eseguendo gli step contenuti una volta per ogni elemento. L'elemento corrente e la sua posizione sono disponibili come variabili all'interno del corpo del loop.

Categoria: Controllo di Flusso  ยท  Identificatore tipo: loop

Panoramica

Il nodo Loop ti permette di elaborare una lista di elementi โ€” clienti, ordini, percorsi file, indirizzi email โ€” senza duplicare gli step. Lo punti a un array di uno step precedente, e Flusso esegue automaticamente il corpo del loop una volta per ogni elemento. Quando tutti gli elementi sono elaborati, l'esecuzione continua oltre il loop con un insieme raccolto di risultati.

All'interno del loop, tre variabili speciali diventano disponibili ad ogni iterazione:

Variabile Descrizione
{{ loop_step.current_item }} L'elemento corrente dell'array. Se l'array contiene oggetti, puoi accedere ai campi con la notazione punto: {{ loop_step.current_item.email }}.
{{ loop_step.current_index }} La posizione a base zero dell'elemento corrente (0 per il primo elemento, 1 per il secondo, e cosi via).
{{ loop_step.total }} Il numero totale di elementi nell'array. Utile per calcolare il progresso o impostare condizioni.

Sostituisci loop_step con la chiave step effettiva che hai assegnato al tuo nodo Loop.

Sequenziale, non parallelo. Gli step all'interno di un loop vengono eseguiti un elemento alla volta. Se hai bisogno di elaborare tutti gli elementi simultaneamente, usa il nodo Parallel.

Configurazione

Campo Stato Descrizione
Items Path Obbligatorio Un riferimento a variabile che si risolve nell'array su cui vuoi iterare, ad es. {{ fetch_orders.output.items }}.
Max Iterations Opzionale Un limite di sicurezza sul numero di iterazioni. Predefinito: 100. Se l'array e piu lungo, il loop si interrompe dopo questo numero di elementi e registra un avviso. Aumenta questo valore se hai genuinamente bisogno di elaborare piu elementi.

Dati di Output

Dopo il completamento di tutte le iterazioni, il nodo Loop rende disponibili queste variabili agli step successivi:

Variabile Tipo Descrizione
results array Un array dell'output dell'ultimo step di ogni iterazione, in ordine. Ogni voce corrisponde a un elemento elaborato.
count integer Il numero di iterazioni effettivamente completate.
errors array Un array di eventuali errori per iterazione. Se un'iterazione fallisce e il workflow e configurato per continuare in caso di errore, il fallimento viene registrato qui.
// Accedi ai risultati del loop dopo la sua conclusione {{ send_emails.output.results }} {{ send_emails.output.count }} {{ send_emails.output.errors }}

Esempio di Utilizzo

Inviare un'email personalizzata a ogni indirizzo in una lista

  1. Aggiungi un nodo HTTP Request (chiave step: extract_emails) che recupera una lista di oggetti iscritto, ciascuno con un campo email e first_name.
  2. Aggiungi un nodo Loop (chiave step: send_loop). Imposta Items Path su:
    {{ extract_emails.output.addresses }}
  3. All'interno del loop, aggiungi un nodo Send Email. Imposta il campo To su:
    {{ send_loop.current_item.email }}
    E personalizza l'oggetto con:
    Hello {{ send_loop.current_item.first_name }}, your update is ready
  4. Dopo il loop, aggiungi un nodo Set Variable o uno step di notifica che referenzia {{ send_loop.output.count }} per riportare quante email sono state inviate.

Suggerimenti e Note

Nodi Correlati