Jos Flutter haluat suorittaa tietyn toiminnon määritetyn toiminnon jälkeen timeout, voit käyttää Future.delayed
toimintoa yhdessä avainsanojen async
ja kanssa await
. Tässä on esimerkki:
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');
}
}
Tässä esimerkissä toimintoa performActionWithTimeout
kutsutaan, kun painiketta painetaan. Tämän toiminnon sisällä käytämme await Future.delayed(Duration(seconds: 3))
3 sekunnin viivettä. Viiveen jälkeen toimenpide on valmis.
Voit korvata toiminnon toiminnon performActionWithTimeout
haluamallasi toiminnolla. Tämä timeout mekanismi voi olla hyödyllinen, kun haluat viivyttää toimintoa estämättä käyttöliittymän säiettä.
Muista, että jos viimeisimmän päivitykseni jälkeen on ollut päivityksiä tai uusia paketteja timeout, Flutter sinun kannattaa myös tutustua näihin vaihtoehtoihin.