Jei Flutter norite atlikti tam tikrą veiksmą po nurodyto timeout, galite naudoti Future.delayed
funkciją kartu su async
ir await
raktiniais žodžiais. Štai pavyzdys:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Timeout Example'),
),
body: Center(
child: ElevatedButton(
onPressed:() {
performActionWithTimeout();
},
child: Text('Perform Action with Timeout'),
),
),
);
}
Future<void> performActionWithTimeout() async {
print('Action started');
// Simulate a delay of 3 seconds
await Future.delayed(Duration(seconds: 3));
print('Action completed after timeout');
}
}
Šiame pavyzdyje, paspaudus mygtuką, performActionWithTimeout
funkcija iškviečiama. Šioje funkcijoje mes naudojame await Future.delayed(Duration(seconds: 3))
3 sekundžių delsą. Po delsimo veiksmas baigiamas.
Funkcijos veiksmą galite pakeisti performActionWithTimeout
norima operacija. Šis timeout mechanizmas gali būti naudingas, kai norite atidėti veiksmą neužblokuodami vartotojo sąsajos gijos.
timeout Atminkite, kad jei po paskutinio atnaujinimo buvo kokių nors atnaujinimų ar naujų paketų Flutter, galbūt norėsite ištirti ir tas parinktis.