Sobes.tech
Junior — Middle

El tudná magyarázni az aszinkron programozás fogalmát, és hogy különbözik-e a szinkron megközelítéstől?

sobes.tech MI

Válasz az MI-től

A aszinkron programozás lehetővé teszi olyan műveletek végrehajtását, amelyek időt vesznek igénybe (például adatok betöltése hálózatról) anélkül, hogy blokkolnák a program fő végrehajtási szálát. Ez azt jelenti, hogy az alkalmazás folytathatja működését és reagálhat a felhasználói műveletekre, miközben egy hosszabb feladat fut.

A szinkron megközelítésben a kód végrehajtása szekvenciális: a program vár egy művelet befejezésére, mielőtt a következőre lépne, ami az interfész lefagyásához vezethet.

Flutterben az aszinkron programozáshoz a async és await kulcsszavakat használjuk:

Future<String> fetchData() async {
  // késleltetés szimulálása
  await Future.delayed(Duration(seconds: 2));
  return 'Adatok betöltve';
}

void main() async {
  print('Betöltés kezdete');
  String data = await fetchData();
  print(data);
}

Itt a fetchData aszinkron módon fut, nem blokkolva a fő szálat.