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 կատարվում է ասինխրոն, առանց հիմնական հոսքը խոչընդոտելու։