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