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.