Trong Flutter, nếu bạn muốn thực hiện một hành động cụ thể sau một khoảng thời gian nhất định, bạn có thể sử dụng hàm Future.delayed
kết hợp với từ khóa async
và await
.
Dưới đây là một ví dụ:
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('Ví dụ về Timeout'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
thucHienHanhDongVoiTimeout();
},
child: Text('Thực hiện hành động với Timeout'),
),
),
);
}
Future<void> thucHienHanhDongVoiTimeout() async {
print('Bắt đầu hành động');
// Giả lập thời gian trễ 3 giây
await Future.delayed(Duration(seconds: 3));
print('Hành động hoàn thành sau timeout');
}
}
Trong ví dụ này, khi nút được nhấn, hàm thucHienHanhDongVoiTimeout
được gọi. Bên trong hàm này, chúng ta sử dụng await Future.delayed(Duration(seconds: 3))
để tạo một thời gian trễ 3 giây. Sau thời gian trễ, hành động được hoàn thành.
Bạn có thể thay thế hành động bên trong hàm thucHienHanhDongVoiTimeout
bằng hoạt động mong muốn. Cơ chế timeout này có thể hữu ích khi bạn muốn trì hoãn một hành động mà không chặn luồng giao diện người dùng.
Hãy lưu ý rằng nếu có bất kỳ cập nhật hoặc gói mới nào liên quan đến timeouts trong Flutter sau khi tôi cập nhật cuối cùng, bạn có thể xem xét các tùy chọn đó.