Sobes.tech
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.