In Flutter, if you want to perform a certain action after a specified timeout, you can use the Future.delayed
function along with the async
and await
keywords. Here's an example:
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');
}
}
In this example, when the button is pressed, the performActionWithTimeout
function is called. Inside this function, we use await Future.delayed(Duration(seconds: 3))
to introduce a delay of 3 seconds. After the delay, the action is completed.
You can replace the action within the performActionWithTimeout
function with your desired operation. This timeout mechanism can be helpful when you want to delay an action without blocking the UI thread.
Keep in mind that if there have been any updates or new packages related to timeout in Flutter after my last update, you might want to explore those options as well.