Pular para o conteúdo principal
O bloco Loop é um bloco contenedor no Aurora Workflow que permite criar fluxos de trabalho iterativos executando um grupo de blocos repetidamente. Os loops permitem o processamento iterativo nos seus fluxos de trabalho.
Loop
O bloco Loop suporta quatro tipos de iteração:
Os blocos Loop são nós contenedores que podem abrigar outros blocos dentro deles. Os blocos dentro de um loop serão executados múltiplas vezes de acordo com sua configuração.

Visão Geral

O bloco Loop permite:
1
Iterar sobre coleções: Processar arrays ou objetos um elemento por vez
2
Repetir operações: Executar blocos um número fixo de vezes
3
Loops com condições: Continuar executando enquanto ou até que uma condição seja atendida
4
Agregar resultados: Coletar saídas de todas as iterações do loop

Como funciona

O bloco Loop executa os blocos contidos através de iteração sequencial:
1
Inicializar loop - Configurar parâmetros de iteração (contador ou coleção)
2
Executar iteração - Executar blocos contidos para a iteração atual
3
Coletar resultados - Armazenar a saída de cada iteração
4
Continuar ou completar - Passar para a próxima iteração ou finalizar o loop

Opções de configuração

Tipo de loop

Escolha entre quatro tipos de loops:
  • For Loop
  • ForEach Loop
  • While Loop
  • Do-While Loop
Loop For (Iterações) - Um loop numérico que executa um número fixo de vezes:
Use quando precisar repetir uma operação um número específico de vezes.
Example: Run 5 times
- Iteration 1
- Iteration 2
- Iteration 3
- Iteration 4
- Iteration 5

Como usar os loops

Criando um loop

  1. Arraste um bloco Loop da barra de ferramentas para seu canvas
  2. Configure o tipo de loop e os parâmetros
  3. Arraste outros blocos dentro do contenedor do loop
  4. Conecte os blocos conforme necessário

Acesso aos resultados

Depois que um loop é concluído, você pode acessar os resultados agregados:
  • <loop.results>: Array de resultados de todas as iterações do loop

Exemplos de casos de uso

Processamento de resultados de API

Cenário: Processar múltiplos registros de clientes

  1. O bloco API obtém a lista de clientes
  2. O loop ForEach itera sobre cada cliente
  3. Dentro do loop: O agente analisa os dados do cliente
  4. Dentro do loop: A função armazena os resultados da análise

Geração iterativa de conteúdo

Cenário: Gerar múltiplas variações

  1. Configurar loop For para 5 iterações
  2. Dentro do loop: O agente gera uma variação de conteúdo
  3. Dentro do loop: O avaliador pontua o conteúdo
  4. Depois do loop: A função seleciona a melhor variação

Contador com loop While

Cenário: Processar elementos com loop baseado em contador

  1. Inicializar variável de fluxo de trabalho: i = 0
  2. Loop While com condição: <variable.i> < 10
  3. Dentro do loop: O agente processa o elemento no índice <variable.i>
  4. Dentro do loop: A variável incrementa i = <variable.i> + 1
  5. O loop continua enquanto i for menor que 10

Características avançadas

Limitações

Os blocos contenedores (Loops e Paralelos) não podem ser aninhados dentro de outros. Isso significa: - Você não pode colocar um bloco de Loop dentro de outro bloco de Loop - Você não pode colocar um bloco Paralelo dentro de um bloco de Loop - Você não pode colocar nenhum bloco contenedor dentro de outro bloco contenedor Se precisar de iteração multidimensional, considere reestruturar seu fluxo de trabalho para usar loops sequenciais ou processar dados por etapas.
Os loops são executados sequencialmente, não em paralelo. Se precisar de execução concorrente, use o bloco Paralelo.

Entradas e saídas

  • Configuração
  • Variáveis
  • Resultados
  • Tipo de loop: Escolha entre ‘for’, ‘forEach’, ‘while’, ou ‘doWhile’
  • Iterações: Número de vezes a executar (loops for)
  • Coleção: Array ou objeto sobre o qual iterar (loops forEach)
  • Condição: Expressão booleana a avaliar (loops while/do-while)

Melhores práticas

  • Estabelecer limites razoáveis: Mantenha o número de iterações razoável para evitar tempos de execução longos
  • Usar ForEach para coleções: Ao processar arrays ou objetos, use loops ForEach em vez de loops For
  • Lidar com erros elegantemente: Considere adicionar tratamento de erros dentro dos loops para fluxos de trabalho robustos