Kas ir Future konstruktoru Flutter un kā tos izmantot?
sobes.tech AI
Atbilde no AI
Flutter konstructori Future tiek ir izmanto, lai izveidotu Future objektus, kas pārstāv asinhronās operācijas rezultātu, kas var tikt izpildīts nākotnē. Tie palīdz pārvaldīt asinhronā koda izpildes plūsmu:
Galvenie konstruktori:
-
Future(): Izveido
Future, kas tiks izpildīts pēc pašreizējās mikrouzdevuma pabeigšanas. Noderīgs plānojot uzdevumus pēc pašreizējās notikumu cikla pabeigšanas.Future(() { // Asinhroniska operācija print('Šis tiek izpildīts pēc pašreizējās mikrouzdevuma.'); }); -
Future.delayed(Duration duration, [FutureOr<T> computation()]): Izveido
Future, kas tiks izpildīts pēc norādītā aizkaves.computationir izvēles funkcija, kas tiek izpildīta pēc aizkaves un atgriežFuturevērtību.Future.delayed(Duration seconds: 2), () { print('Šis tiek izpildīts pēc 2 sekundēm.'); }); -
Future.value([FutureOr<T>? value]): Izveido
Future, kas jau ir pabeigts ar norādīto vērtību. Ja vērtība ir citsFuture, tas gaidīs tā pabeigšanu.Future<int>.value(123).then((value) => print('Vērtība ir: $value')); -
Future.error(Object error, [StackTrace? stackTrace]): Izveido
Future, kas jau ir pabeigts ar norādītu kļūdu.Future.error('Kaut kas nogāja greizi').catchError((error) => print('Kļūda: $error')); -
Future.sync(FutureOr<T> computation()): Izveido
Future, kas veic aprēķinu sinhroni uzreiz. Ja aprēķins atgriežFuture, tas gaidīs tā pabeigšanu.Future.sync(() { print('Šis darbojas sinhroni.'); return 456; }).then((value) => print('Sinhronā vērtība: $value'));
Lietošana then, catchError un whenComplete rezultāta apstrādei:
Future.delayed(Duration seconds: 1), () => 'Sveiki, pasaule!')
.then((result) {
// Veic, kad ir veiksmīgi pabeigts
print(result);
})
.catchError((error) {
// Veic, ja ir kļūda
print('Radās kļūda: $error');
})
.whenComplete(() {
// Veic neatkarīgi no panākumiem vai kļūdām
print('Future ir pabeigts.');
});