1..2..3... Гонка Future
Представьте, что вы ждёте ответ от нескольких источников. Но вам нужен только один ответ. Ладно, такое случается не часто, но представьте...
Ждём только 1 ответ
Будьте осторожны, если первый запрос выдаёт ошибку до того, как придёт второй ответ... Future завершится с ошибкой. Значит, вам нужно игнорировать эту ошибку в вашем будущем запросе.
Что возвращает Future.any?
Он возвращает Future, который завершается с первым результатом. Вы можете передать несколько Future разных типов.
Оцените новую рубрику! 👍💡 Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #FutureAny #AsyncProgramming #FlutterTips #MobileDevelopment #ProgrammingTips
Представьте, что вы ждёте ответ от нескольких источников. Но вам нужен только один ответ. Ладно, такое случается не часто, но представьте...
Ждём только 1 ответ
Будьте осторожны, если первый запрос выдаёт ошибку до того, как придёт второй ответ... Future завершится с ошибкой. Значит, вам нужно игнорировать эту ошибку в вашем будущем запросе.
import 'dart:async';
import 'package:http/http.dart' as http;
void main() async {
await Future.any([
getPost(SERVER_1), // первый сервер
getPost(SERVER_2), // второй сервер
]);
}
Future<String> getPost(String url) async {
final response = await http.get(Uri.parse('....'));
if (response.statusCode == 200) {
return response.body; // возвращаем тело ответа
} else {
throw Exception('Не удалось загрузить пост'); // выбрасываем исключение
}
}
Что возвращает Future.any?
Он возвращает Future, который завершается с первым результатом. Вы можете передать несколько Future разных типов.
Оцените новую рубрику! 👍💡 Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #FutureAny #AsyncProgramming #FlutterTips #MobileDevelopment #ProgrammingTips
👍4
Отображение AlertDialog без Context в Flutter: Решение проблемы
🚨 Flutter-разработчики, сталкивались ли вы с ситуацией, когда нужно показать AlertDialog из асинхронной функции, но context недоступен? 🤔
В этой статье рассматривается распространенная проблема и предлагается элегантное решение с использованием GlobalKey<NavigatorState>. Вы узнаете, как отобразить AlertDialog без context, используя глобальный navigatorKey, и как это может упростить ваш код. 📈
Статья шаг за шагом объясняет, как определить глобальный navigatorKey, присвоить его MaterialApp, создать функцию для показа AlertDialog и вызвать ее из асинхронной функции. Вы получите полное понимание того, как работает это решение и почему оно является правильным подходом. 💡
Ссылки на статью:
🇷🇺Отображение AlertDialog без Context в Flutter
🇬🇧Showing AlertDialog Without Context in Flutter
🌐Оригинальная статья
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, понравилась ли вам новая рубрика!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #programmingtips
🚨 Flutter-разработчики, сталкивались ли вы с ситуацией, когда нужно показать AlertDialog из асинхронной функции, но context недоступен? 🤔
В этой статье рассматривается распространенная проблема и предлагается элегантное решение с использованием GlobalKey<NavigatorState>. Вы узнаете, как отобразить AlertDialog без context, используя глобальный navigatorKey, и как это может упростить ваш код. 📈
Статья шаг за шагом объясняет, как определить глобальный navigatorKey, присвоить его MaterialApp, создать функцию для показа AlertDialog и вызвать ее из асинхронной функции. Вы получите полное понимание того, как работает это решение и почему оно является правильным подходом. 💡
Ссылки на статью:
🇷🇺Отображение AlertDialog без Context в Flutter
🇬🇧Showing AlertDialog Without Context in Flutter
🌐Оригинальная статья
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, понравилась ли вам новая рубрика!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #programmingtips