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
-
asynctrên function,awaitkhi gọi Future - Try-catch cho error handling
-
Future.waitcho parallel execution
Last updated on