Junior — Middle
Môžete vysvetliť koncept asynchrónneho programovania a v čom sa líši od synchronného prístupu?
sobes.tech AI
Odpoveď od AI
Asynchrónne programovanie umožňuje vykonávať operácie, ktoré trvajú čas (napríklad načítanie dát zo siete), bez blokovania hlavného vlákna vykonávania programu. To znamená, že aplikácia môže pokračovať v práci a reagovať na akcie používateľa, zatiaľ čo sa vykonáva dlhodobá úloha.
V synchronnom prístupe sa vykonávanie kódu deje sekvenčne: program čaká na dokončenie jednej operácie pred prechodom na ďalšiu, čo môže viesť k zaseknutiu rozhrania.
V Flutteri sa pre asynchrónne programovanie používajú kľúčové slová async a await:
Future<String> fetchData() async {
// simulácia oneskorenia
await Future.delayed(Duration(seconds: 2));
return 'Dáta načítané';
}
void main() async {
print('Začíname načítanie');
String data = await fetchData();
print(data);
}
Tu sa fetchData vykonáva asynchrónne, bez blokovania hlavného vlákna.