I Flutter, om du vill utföra en viss åtgärd efter en angiven, timeout kan du använda Future.delayed
funktionen tillsammans med nyckelorden async
och. await
Här är ett exempel:
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');
}
}
I det här exemplet, när knappen trycks in, performActionWithTimeout
anropas funktionen. Inuti den här funktionen använder vi await Future.delayed(Duration(seconds: 3))
för att införa en fördröjning på 3 sekunder. Efter fördröjningen är åtgärden slutförd.
Du kan ersätta åtgärden inom performActionWithTimeout
funktionen med önskad åtgärd. Denna timeout mekanism kan vara användbar när du vill fördröja en åtgärd utan att blockera gränssnittstråden.
Tänk på att om det har kommit några uppdateringar eller nya paket relaterade till timeout efter Flutter min senaste uppdatering, kanske du vill utforska dessa alternativ också.