Перейти к основному содержимому

Циклы

Циклы в FlutterFlow позволяют выполнять повторяющиеся задачи без написания сложного кода. Это полезно при работе со списками данных или когда нужно повторить действия определённое количество раз.

В FlutterFlow поддерживаются два типа циклов:

Циклы по условию While

Цикл While Condition требует указания условия. Действия внутри цикла будут продолжать выполняться, пока условие истинно. Когда условие становится ложным, цикл завершается, и выполняются следующие действия в рабочем процессе.

Например, вы можете использовать цикл While Condition для непрерывной проверки, находится ли пользователь в пределах геозоны. Пока условие isUserInLocation == true выполняется, приложение может продолжать проверять обновления или отображать индикатор в реальном времени.

loop-block.png

Over List

Этот тип цикла позволяет итерироваться по списку элементов и выполнять действия для каждого элемента в списке.

Например, если у вас есть список товаров в корзине покупок и вы хотите рассчитать общую стоимость или применить скидку к каждому товару, вы можете использовать Over List, чтобы пройтись по каждому продукту и выполнить расчёт для него.

Вы также можете настроить способ итерации цикла:

  • Start Index: С какого индекса начинается цикл (по умолчанию 0).
  • End Index: С какого индекса заканчивается цикл (по умолчанию длина списка).
  • Step Size: Интервал между итерациями (например, установите 2, чтобы пройтись по каждому второму элементу).
  • Reverse Order: Включает итерацию цикла с конца списка к началу (например, для отображения последних сообщений первыми).

loop-over-list.avif

Внутри цикла вы можете обращаться к текущему элементу и его индексу. Это позволяет работать с каждым элементом индивидуально, например, отображать данные, специфичные для элемента, и выполнять расчёты.

access-item-inside-loop.avif

Вложенные циклы

Вы также можете добавить цикл внутри другого цикла для обработки связанных структур данных. Например, итерация по заказам, а затем по элементам каждого заказа.

Прерывание циклов

ИЗБЕГАЙТЕ БЕСКОНЕЧНОГО ЦИКЛА

Будьте осторожны с действиями циклов, поскольку они могут привести к бесконечному циклу, если условие никогда не станет ложным. Всегда убедитесь, что условие в конечном итоге выполнится, чтобы цикл мог завершиться.

Если запланированная операция завершится до того, как условие станет ложным, вам необходимо добавить действие Loop Break в ваш рабочий процесс, чтобы выйти из цикла.

Loop Breaks — это операторы, используемые для досрочного выхода из цикла до выполнения обычного условия завершения. Они обычно применяются для остановки цикла при выполнении определённого условия, предотвращая ненужные итерации и позволяя программе перейти к следующему разделу действий.

Ключевые моменты:

  • Назначение: Немедленный выход из цикла при выполнении конкретного условия.
  • Реализация: Обычно реализуется с помощью узла "Add Break" в редакторе Action Flow.
  • Использование: Часто применяется для избежания бесконечных циклов или для остановки итерации после достижения желаемого результата.

loop-block-return.png