Flutter 中的同步与异步
在Flutter中,同步和异步通常是通过使用async
和await
关键字来实现的。async
关键字声明一个异步函数,而await
关键字可以在这个函数内部使用,来等待一个异步操作完成。
例如,如果你想在Flutter中执行一个异步网络请求,你可以使用http
包中的get
方法,如下所示:
import 'package:http/http.dart' as http;
// 异步函数
Future<void> fetchData() async {
// 等待网络请求
var response = await http.get(Uri.parse('https://example.com/data'));
// 处理响应
if (response.statusCode == 200) {
print('数据获取成功: ${response.body}');
} else {
print('请求失败,状态码: ${response.statusCode}');
}
}
void main() async {
// 调用异步函数
await fetchData();
print('完成');
}
在这个例子中,fetchData
函数是异步的,它使用await
来等待http.get
的结果。这意味着在调用fetchData
时,程序会暂停在await
处,直到异步调用完成。然后,程序会继续执行await
后面的代码。这样可以避免阻塞主线程,使界面保持响应。
评论已关闭