Пользовательские действия
Пользовательские действия в FlutterFlow отличаются от пользовательских функций тем, что всегда возвращают Future.
Это делает их особенно полезными для сложных операций, которые могут занять время, например, запросов к базе данных или вызовов функций, возвращающих результаты с задержкой. Кроме того, пользовательские действия удобны, когда нужно добавить стороннюю зависимость из pub.dev, чтобы расширить возможности приложения с помощью внешних пакетов.
Futures в Flutter представляют асинхронную операцию, которая в будущем вернёт значение или ошибку. Future<T> указывает, что future в итоге предоставит значение типа T. Таким образом, если возвращаемое значение — это String, пользовательское действие вернёт Future<String>, а значение String будет выведено в какой-то момент в будущем.
Основные сценарии использования
- Запросы к базе данных: Выполняйте сложные запросы для получения или обновления данных в базе данных.
- Вызовы API: Отправляйте асинхронные HTTP-запросы к внешним API и обрабатывайте ответы.
- Операции с файлами: Управляйте операциями чтения или записи файлов, которые требуют времени на выполнение.
- Интеграция с внешними сервисами: Включайте внешние пакеты и зависимости для расширения функциональности, например, пакет внешней аналитики.
Использование пользовательского действия
После того как код действия будет завершён, сохранён и скомпилирован, вы сможете использовать это действие как часть потока действий.
В следующем примере у нас есть пользовательское действие под названием executeSearch, которое принимает аргумент searchItem — строку поиска из поля TextField поиска в HomePage приложения электронной коммерции.