在 Dart 语言中,Future 和 async 是用于处理异步操作的关键词。
Future:
Future是 Dart 中表示异步操作结果的类。它表示一个可能在未来完成的计算。- 当你执行一个异步操作时,它通常会返回一个
Future对象,该对象最终会包含操作的结果。 - 你可以使用
Future对象来注册回调,以在操作完成时得到通知,或者等待操作完成。
示例:
Future<String> fetchData() async {
// 模拟异步操作,比如从网络获取数据
await Future.delayed(Duration(seconds: 2));
return "Data loaded successfully!";
}
void main() {
print("Fetching data...");
fetchData().then((result) {
print(result);
});
print("Operation in progress...");
}async:
async是 Dart 中用于定义异步函数的关键词。当函数需要执行异步操作时,你可以将其标记为async。- 标记为
async的函数可以包含await关键词,用于等待一个Future完成。
示例:
Future<String> fetchData() async {
// 模拟异步操作,比如从网络获取数据
await Future.delayed(Duration(seconds: 2));
return "Data loaded successfully!";
}
Future<void> main() async {
print("Fetching data...");
String result = await fetchData();
print(result);
print("Operation completed.");
}在上述示例中,fetchData 函数返回一个 Future<String>,而 main 函数是一个 async 函数,使用 await 等待异步操作完成。这种结构使得异步代码更加清晰和易于理解。










