Skip to Content

Async/Await trong Dart

🎯 Mục tiêu: Asynchronous programming với async/await.


💡 Cú pháp cơ bản

Future<String> fetchData() async { await Future.delayed(Duration(seconds: 1)); return "Data loaded"; } void main() async { print("Loading..."); var data = await fetchData(); print(data); }

📝 Error Handling

Future<void> loadData() async { try { var data = await fetchData(); print(data); } catch (e) { print("Error: $e"); } finally { print("Done"); } }

🔧 Parallel execution

var results = await Future.wait([ fetchUsers(), fetchPosts(), fetchComments(), ]);

📱 Trong Flutter

class MyWidget extends StatefulWidget { @override _MyWidgetState createState() => _MyWidgetState(); } class _MyWidgetState extends State<MyWidget> { String? data; bool isLoading = true; @override void initState() { super.initState(); _loadData(); } Future<void> _loadData() async { try { var result = await fetchData(); setState(() { data = result; isLoading = false; }); } catch (e) { setState(() => isLoading = false); } } }

✅ Checklist

  • async trên function, await khi gọi Future
  • Try-catch cho error handling
  • Future.wait cho parallel execution

Last updated on