Sobes.tech
Junior — Middle

Կարող եք բացատրել ասինխրոն ծրագրավորման կոնցեպցիան և ինչպես է այն տարբերվում սինխրոն մոտեցումից:

sobes.tech AI

Պատասխան AI-ից

Ասինխրոն ծրագրավորումը թույլ է տալիս իրականացնել ժամանակատար գործողություններ (օրինակ, տվյալների բեռնում ցանցից) առանց ծրագրի հիմնական հոսքը խոչընդոտելու։ Սա նշանակում է, որ հավելվածը կարող է շարունակել աշխատել և արձագանքել օգտվողի գործողություններին, մինչդեռ կատարվում է երկարատև աշխատանք։

Սինխրոն մոտեցման դեպքում կոդի կատարմանը հաջորդականություն է տրվում՝ ծրագրային ապահովումը սպասում է մեկ գործողության ավարտին նախքան անցնել հաջորդին, ինչը կարող է հանգեցնել ինտերֆեյսի սառեցման։

Flutter-ում ասինխրոն ծրագրավորման համար օգտագործվում են async և await բանալի բառերը՝

Future<String> fetchData() async {
  // պատճենման պատճեն
  await Future.delayed(Duration(seconds: 2));
  return 'Տվյալները բեռնված են';
}

void main() async {
  print('Բեռնում սկսվում է');
  String data = await fetchData();
  print(data);
}

Այստեղ, fetchData կատարվում է ասինխրոն, առանց հիմնական հոսքը խոչընդոտելու։