Flutter框架跨平台鸿蒙开发——Future基础与数据加载
Future是Dart中处理异步操作的核心类型,表示一个可能在未来某个时间完成的操作。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;未完成成功失败异步操作开始返回Future操作状态Pending状态说明值Pending操作进行中无Comp
·

一、Future概述
Future是Dart中处理异步操作的核心类型,表示一个可能在未来某个时间完成的操作。
| 状态 | 说明 | 值 |
|---|---|---|
| Pending | 操作进行中 | 无 |
| Completed | 操作已完成 | Value 或 Error |
二、示例代码
Future<String> _fetchData() async {
await Future.delayed(const Duration(seconds: 2));
if (DateTime.now().second % 3 == 0) {
throw Exception('网络请求失败');
}
return '数据加载成功: ${DateTime.now()}';
}
void _loadData() {
setState(() {
_isLoading = true;
_error = null;
_data = null;
});
_fetchData().then((data) {
setState(() {
_data = data;
_isLoading = false;
});
}).catchError((error) {
setState(() {
_error = error.toString();
_isLoading = false;
});
});
}
三、工作流程
四、状态管理
| 状态 | UI显示 | 操作 |
|---|---|---|
| 初始 | 图标 + 提示 | 显示加载按钮 |
| 加载中 | 进度条 | 禁用按钮 |
| 成功 | 数据内容 | 显示数据 |
| 失败 | 错误信息 | 显示重试按钮 |
五、最佳实践
要点:
- 始终检查mounted状态
- 提供清晰的错误反馈
- 使用setState更新UI状态
- 支持重试机制
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net
更多推荐


所有评论(0)