Conectores
Core
Loop - FOR
15 min
objetivo/resumo o conector for oferece uma interface simplificada e padronizada para executar iterações sobre uma sequência, como uma lista ele permite executar um bloco de código repetidamente para cada item na sequência, sendo essencial para automatizar tarefas repetitivas, processar coleções de dados e realizar operações em massa de maneira eficiente e organizada criando um fluxo utilizando o conector for 1\ configurar o fluxo com for 1 1 crie um fluxo e arraste o conector for para o canvas 1 2 selecione o conector for na aba de parametrizações, você encontrará os campos de configuração 2\ definir a expressão escolhida 2 1 range define a quantidade de iterações fixa passando um número inteiro na parametrização dinâmica utilizando o tamanho da lista que você deseja percorrer, com a função len exemplo {{ len steps lista body }} para pegar a iteração atual do for nos passos que estão dentro da porta de saída initial é obrigatório manter o resultado do for na memória, na configuração das propriedades 3\ configurar portas de saídas o conector possui duas saídas initial e next initial define o que você deseja fazer com a iteração aqui você pode construir o fluxo desejado utilizando os dados da iteração corrente por exemplo, para acessar o índice da iteração e o item correspondente na lista, você pode usar o seguinte código {{ $i = steps iterar body index | int }} {{ $objeto = index steps lista body $i }} iteration index {{ $i }} current item {{ $objeto }} {{ $i = steps for body index | int }} armazena o índice atual da iteração na variável $i {{ $objeto = index steps objectlist body $i }} usa o índice para acessar o item correspondente na lista steps objectlist body e armazena na variável $objeto next é executado após todas as iterações do bloco initial você pode definir a ação a ser tomada conforme sua necessidade lembrando que no contexto dos passos que estão dentro do initial mesmo que salvos na memória, eles não podem ser recuperados no next exemplos práticos exemplo 1 iterar sobre lista no template passo 1 criar uma lista de objetos vamos criar uma lista de objetos que representam frutas com suas propriedades $myobjectlist = \[ {"nome" "maçã", "cor" "vermelha"}, {"nome" "banana", "cor" "amarela"}, {"nome" "cereja", "cor" "vermelha"}, {"nome" "damasco", "cor" "laranja"}, {"nome" "uva", "cor" "roxa"} ] passo 2 configurar o conector for no conector for, defina a expressão dinâmica para iterar sobre a lista {{ len $myobjectlist }} passo 3 configurar a saída initial no bloco initial , configure para exibir o índice e as propriedades do objeto atual {{ $i = steps for body index | int }} {{ $fruta = index $myobjectlist $i }} iteration index {{ $i }} current item nome {{ $fruta nome }}, cor {{ $fruta cor }} passo 4 configurar a saída next no bloco next , você pode definir uma ação para ser realizada após a conclusão de todas as iterações por exemplo, enviar uma mensagem indicando que a iteração foi concluída exemplo 2 iterar sobre códigos de produtos vamos criar uma lista de produtos com códigos antigos e novos, e determinar o código do novo sistema para cada produto passo 1 criar uma lista de produtos $products = \[ {"codigo antigo" "123", "nome" "produto a"}, {"codigo antigo" "456", "nome" "produto b"}, {"codigo antigo" "789", "nome" "produto c"} ] passo 2 configurar o conector for no conector for, defina a expressão dinâmica para iterar sobre a lista {{ len $products }} passo 3 configurar a saída initial no bloco initial , configure para mapear o código antigo para o novo {{ $i = steps for body index | int }} {{ $produto = index $products $i }} {{ $codigo novo = concat "new " $produto codigo antigo }} iteration index {{ $i }} produto {{ $produto nome }} código novo {{ $codigo novo }} exemplo 3 paginação de retorno de dados do banco vamos criar um fluxo para paginar o retorno de dados de um banco passo 1 obter dados do banco de dados suponha que obtemos um retorno de dados do banco $dados = \[ {"id" 1, "nome" "alice"}, {"id" 2, "nome" "bob"}, {"id" 3, "nome" "charlie"}, {"id" 4, "nome" "diana"}, {"id" 5, "nome" "eve"} ] passo 2 configurar o conector for no conector for, defina a expressão dinâmica para iterar sobre a lista de dados {{ len $dados }} passo 3 configurar a saída initial no bloco initial , configure para processar os dados em páginas de tamanho 2 {{ $i = steps for body index | int }} {{ $dado = index $dados $i }} {{ $pagina = div $i 2 | int }} iteration index {{ $i }} página {{ $pagina }} dado {{ $dado nome }} conclusão a utilização do conector for permite automatizar tarefas repetitivas e processar coleções de dados de maneira eficiente e organizada com as configurações apropriadas, você pode definir a quantidade de iterações e as ações a serem tomadas durante e após as iterações, facilitando a criação de fluxos complexos e personalizados utilizando o bloco initial , você pode acessar e manipular os dados da iteração corrente de forma dinâmica, permitindo uma grande flexibilidade na criação de seus fluxos com o exemplo prático apresentado, fica claro como o conector for pode ser aplicado para iterar sobre listas de objetos e executar operações específicas para cada item, tornando os processos mais automatizados e eficientes