Dart中的Future

简介: Dart中的Future

Future简介

Future提供了一种异步编程的方式,它可以让我们在不阻塞当前任务的情况下执行一个任务,并在任务完成后获得相应的结果。

使用Future的步骤

1.创建一个Future对象;

2.为Future指定一个回调函数;

3.将Future对象传递给dart:async库的run()方法;

4.在回调函数中处理Future的结果。

Future的使用例子

// 创建一个Future对象
Future future = Future(() {
  // 执行一些耗时的操作
  print('开始执行耗时操作');
  // 模拟耗时操作
  Future.delayed(Duration(seconds: 4), () {
    return '耗时操作完成!';
  });
});
// 为Future指定一个回调函数
future.then((data) {
  print(data);
});
// 将Future对象传递给dart:async库的run()方法
run(future);

常用的使用场景

常与async一起使用

Async是Dart中的一个关键字,用于标记异步函数。async函数返回一个Future对象,并且可以使用await关键字来等待函数的执行结果。

例如:

Future getData(String url) async {

var response = await http.get(url);

return response.body;

}


相关文章
|
Web App开发 JavaScript iOS开发
[√]使用vscode开发油猴Tampermonkey脚本
[√]使用vscode开发油猴Tampermonkey脚本
1611 0
|
存储 缓存 JSON
详解HTTP四种请求:POST、GET、DELETE、PUT
【4月更文挑战第3天】
66748 4
详解HTTP四种请求:POST、GET、DELETE、PUT
|
JSON Dart Android开发
Flutter 2024: Impeller引擎引领渲染新纪元
Flutter 2024以Impeller引擎引领渲染新时代,全面提升性能与流畅度。Impeller已在iOS及Android(支持Vulkan/OpenGL)全面部署,Material 3集成深化视觉体验,多视图支持增强复杂UI管理。Dart 3.2与3.4版本迭代优化语言特性与性能,引入宏编程简化JSON处理。桌面与Web端持续优化,深化平台适配。
556 14
|
Python
Python:2018年北京天气情况
Python:2018年北京天气情况
220 0
|
10月前
|
网络架构
一文来带你了解 Flutter MaterialApp
一文来带你了解 Flutter MaterialApp
282 1
一文来带你了解 Flutter MaterialApp
|
前端开发 搜索推荐
Flutter中自定义气泡框效果的实现
Flutter中自定义气泡框效果的实现
365 3
|
移动开发 JavaScript 小程序
uniapp优缺点
uniapp优缺点
464 4
|
12月前
|
资源调度 Linux 调度
Linux C/C++之线程基础
这篇文章详细介绍了Linux下C/C++线程的基本概念、创建和管理线程的方法,以及线程同步的各种机制,并通过实例代码展示了线程同步技术的应用。
187 0
Linux C/C++之线程基础