Junior — Middle
Jaka jest główna rola obiektu Future w programowaniu asynchronicznym?
sobes.tech AI
Odpowiedź od AI
Obiekt Future w programowaniu asynchronicznym reprezentuje obietnicę (promise) uzyskania wyniku operacji w przyszłości. Służy do pracy z operacjami wykonywanymi asynchronicznie, które mogą zakończyć się później — na przykład pobieranie danych z sieci lub odczyt pliku.
Główna rola Future to zapewnienie mechanizmu do śledzenia stanu operacji asynchronicznej i uzyskania jej wyniku lub błędu, gdy zostanie zakończona.
Przykład użycia Future w Flutter (Dart):
Future<String> fetchData() async {
// symulacja opóźnienia
await Future.delayed(Duration(seconds: 2));
return 'Dane załadowane';
}
void main() async {
print('Rozpoczynamy ładowanie');
String data = await fetchData();
print(data);
}
Tutaj fetchData zwraca Future, który zakończy się po 2 sekundach wynikiem typu string. Kluczowe jest to, że Future pozwala na pracę z wynikiem asynchronicznie, nie blokując głównego wątku.