No Flutter, se você deseja executar uma determinada ação após um especificado timeout, pode usar a Future.delayed
função junto com as palavras-chave async
e await
. Aqui está um exemplo:
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');
}
}
Neste exemplo, quando o botão é pressionado, a performActionWithTimeout
função é chamada. Dentro desta função, usamos await Future.delayed(Duration(seconds: 3))
para introduzir um atraso de 3 segundos. Após o atraso, a ação é concluída.
Você pode substituir a ação dentro da performActionWithTimeout
função pela operação desejada. Esse timeout mecanismo pode ser útil quando você deseja atrasar uma ação sem bloquear o thread da interface do usuário.
Lembre-se de que, se houver atualizações ou novos pacotes relacionados timeout após Flutter minha última atualização, convém explorar essas opções também.