ใน Flutter หากคุณต้องการดำเนินการบางอย่างหลังจากระบุ timeout คุณสามารถใช้ Future.delayed
ฟังก์ชันพร้อมกับ คำหลัก async
และ await
นี่คือตัวอย่าง:
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');
}
}
ในตัวอย่างนี้ เมื่อกดปุ่ม performActionWithTimeout
ฟังก์ชันจะถูกเรียกใช้ ภายในฟังก์ชันนี้ เราใช้ await Future.delayed(Duration(seconds: 3))
เพื่อแนะนำการหน่วงเวลา 3 วินาที หลังจากการหน่วงเวลา การดำเนินการจะเสร็จสิ้น
คุณสามารถแทนที่การทำงานภายใน performActionWithTimeout
ฟังก์ชันด้วยการทำงานที่คุณต้องการ กลไก นี้ timeout มีประโยชน์เมื่อคุณต้องการชะลอการดำเนินการโดยไม่บล็อกเธรด UI
โปรดทราบว่าหากมีการอัปเดตหรือแพ็คเกจใหม่ที่เกี่ยวข้องกับ timeout หลังจาก Flutter การอัปเดตครั้งล่าสุดของฉัน คุณอาจต้องการสำรวจตัวเลือกเหล่านั้นด้วย