首页 > 其他分享 >Dart中的Future

Dart中的Future

时间:2023-03-18 14:32:21浏览次数:26  
标签:run 函数 Dart 耗时 Future async 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<String> getData(String url) async { var response = await http.get(url); return response.body; }

标签:run,函数,Dart,耗时,Future,async,future
From: https://blog.51cto.com/u_15777557/6129654

相关文章

  • 【Java】CompletableFutureTimeoutUtils
    CompletableFutureTimeoutforJDK8importlombok.NonNull;importjava.util.ArrayDeque;importjava.util.Deque;importjava.util.concurrent.*;importjava.uti......
  • Dart 方法
    同一作用域中,不允许重复定义名称一样的方法//不规定是否有返回值,dart编译时自动识别fun_1(){print('hi');}fun_2(){return'hi';}//胖箭头函数必有返回值,若表达......
  • Dart 枚举
    枚举最基本的使用enumCOLOR{RED,BLUE,YELLOW,GREEN,BLACK,GRAY,PINK,WHITE;}复杂点的枚举enumColor{WHITE(0xF8F8FF),PINK(0xFFC0CB),BLUE(0x0000FF......
  • Dart 异常
    异常抛出异常抛出异常的方式有3种fun()=>throw"error";//胖箭头方法//普通方法fun(){throw"error";}//普通方法fun(){throwException("error");}......
  • Dart 重载操作符
    重载操作符的目的:对象与对象之间也可以进行+-×÷--++==|&等操作classSquare{double?width;double?height;Square({requireddoublewidth,requireddoub......
  • Dart 类
    类类属性基于Dart的所有变量均是对象的原则,建议所有的变量初始化或加上空安全;Dart对象的属性如果没有限制空安全,则必须在初始化时赋值。classCar{String?nam......
  • Dart 的 变量
    Dart语言定义变量支持使用具体变量类型Stringstr="";intinteger=1;doubledou=3.1415926;Listlist=[1,2,3,4];也可用var定义,编译器会自动识别第一次赋值......
  • Dart利用注解生成代码
    个人博客:http://www.milovetingting.cnDart利用注解生成代码引入依赖dev_dependencies: source_gen:^1.2.6 build_runner:'>2.3.0<4.0.0'定义注解import'p......
  • C++11异步编程(std::async, std::future, std::packaged_task, std::promise)
    文章目录​​1.std::future概述含义​​​​2.std::future​​​​2.std::packaged_task​​​​2.std::promise​​1.std::future概述含义C++0x提供了future和promise来简......
  • Dart数据类型
    基本类型Number型int整型inti=10;varj=20;double浮点型doublei=3.14;varj=3.14;string字符串Stringstr="goodmorning";varstrin......