首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何返回future<double> - Flutter

在Flutter中,可以使用async和await关键字来返回一个Future<double>。下面是一个示例代码:

代码语言:txt
复制
Future<double> calculateValue() async {
  // 模拟一个耗时操作
  await Future.delayed(Duration(seconds: 2));
  
  double result = 3.14 * 2; // 假设这里是一些复杂的计算
  
  return result;
}

void main() {
  calculateValue().then((value) {
    print(value); // 打印计算结果
  });
}

在上面的代码中,calculateValue()函数返回一个Future<double>类型的对象。在函数体内部,使用await关键字来等待一个耗时操作完成,这里使用了Future.delayed()函数来模拟一个耗时的操作。然后,计算结果被赋值给result变量,并通过return语句返回。

在main()函数中,我们通过调用calculateValue()函数来获取计算结果。使用then()方法来注册一个回调函数,当Future对象完成时,会调用该回调函数并传递计算结果。在这个示例中,我们简单地打印出计算结果。

关于Flutter的更多信息和相关产品,你可以参考腾讯云的官方文档和产品介绍页面:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flutter the Future

Flutter这一年的发展极其迅速,不仅成为GitHub年度最受欢迎项目,就连只有Flutter使用的Dart语言,在世界开发语言排行榜上也一举获得了500%的增长,成为年度增长率最高的开发语言。...DartPad DartPad是一个Web端的Dart模拟工具,可以在网页上输入Dart代码并展示运行结果,这次更新后,DartPad已经可以支持Flutter了,甚至可以直接在DartPad上进行Flutter...Flutter Framework 作为一款跨平台开发框架,Flutter一直积极的向Android和iOS的最新功能靠拢,新版本的Flutter这次同样是Framework级别支持了iOS的Dark...,不同的跨平台方案给出了不同的选择,但基本上都以失败告终,而Flutter的出发点,很完美的解决了这个问题——UI跨平台框架,从一开始,Flutter的起点就是很正确的,我只做UI跨平台,借助Skia,...我从17年开始关注Flutter,从18年开始投入大量的业余时间关注Flutter,见证了Flutter的不断成长,特别是19年,可以称之为Flutter元年,这一年的飞速发展,让Flutter已经逐渐开始获得更多人的关注

94450
  • Flutter | 事件循环,Future

    () 复制代码 Future Flutter 相当于是一个盒子,内部的代码最终会交给 EventQueue 来执行,Future 的状态大致可分为三种,如下: Future(() { print...Future.whenComplete() 类似于 try catch 后面的 finnaly,无论成功和失败,最终都会执行到这里 Future.them 链式调用 //在 them 中可以接继续返回值...; }); async,await async:用来表示函数是异步的,定义的函数会返回一个 Future 对象,可以使用 then 添加回调函数 await :后面是一个 Future,表示等待改异步任务的完成...在 future 出错的时候,该值会被 AsyncSnapshot 从 data 中删掉 builder:返回一个 Widget AsyncSnapshot 用来保存 future 最近的状态,...需要注意的是使用完成之后要进行关闭操作,否则就会泄漏资源 并且 flutter 会一直警告, 上面的这种方式只能有一个监听,如果添加多个监听则就会保存,那么如何添加多个监听呢,可以使用广播的方式,如下

    4.3K10

    Flutter 必知必会】页面弹出返回时 return Future.value(false) 的作用

    一、前言 当我们总 flutter 应用中,跳转到其他 app 或者返回桌面时会这么调用 同样的我们退出当前页面时,调用 Navigator.pop(context) 后同样也会调用 return Future.value...2.1 不调用会怎么样 如果我们在调用 Navigator.pop(context, false) 之后 使用的是 return Future.value(true); 那么按下后退按钮后,应用程序将显示黑屏...2.2 为什么使用 当我们使用 Navigator.pop(context),Future.value(true); 手动导航,会触发另一个无法完成的弹出窗口 这是由于当前已经存在页面,所以这会使应用程序崩溃...这时由于 OnWillPop 需要返回,因此通过使用 return Future.value(false);告诉 OnWillPop 我们在此处处理页面的关闭 三、结语 如果本文对你有帮助欢迎三连或者关注支持

    75920

    Flutter 必知必会】页面弹出返回时 return Future.value(false) 的作用

    一、前言 当我们总 flutter 应用中,跳转到其他 app 或者返回桌面时会这么调用 同样的我们退出当前页面时,调用 Navigator.pop(context) 后同样也会调用 return...Future.value(false) 这是为什么呢?...2.1 不调用会怎么样 如果我们在调用 Navigator.pop(context, false) 之后 使用的是 return Future.value(true); 那么按下后退按钮后,应用程序将显示黑屏...2.2 为什么使用 当我们使用 Navigator.pop(context),Future.value(true); 手动导航,会触发另一个无法完成的弹出窗口 这是由于当前已经存在页面,所以这会使应用程序崩溃...这时由于 OnWillPop 需要返回,因此通过使用 return Future.value(false);告诉 OnWillPop 我们在此处处理页面的关闭 三、结语 如果本文对你有帮助欢迎三连或者关注支持

    92610

    Flutter 事件机制 - Future 和 MicroTask 全解析

    写在前面 了解过Flutter的同学都知道,不同于 Android 原生开发,dart 是单线程实体的语言,所以我们一般的异步操作,实际上还是通过单线程通过调度任务优先级来实现的,就是我们经常用到的 Future...多个Future 和 Microtask 程序的执行顺序是怎样的? 本文将借助两个比较复杂的例子来详细介绍 Flutter 的事件机制,希望能对大家有所帮助。...); print('s_3'); } 输出结果: I/flutter (32415): s_3 I/flutter (32415): s_2 I/flutter (32415): s_1 Future...I/flutter: f7 com.example.flutter_dart_app I/flutter: f4 com.example.flutter_dart_app I/flutter: f6...com.example.flutter_dart_app I/flutter: f3 com.example.flutter_dart_app I/flutter: f5 com.example.flutter_dart_app

    1.5K00

    Flutter延时任务、Flutter通过Future与Timer实现延时任务

    [Flutter延时任务、Flutter通过Future与Timer实现延时任务@凡科快图.png] Header1 Header2 CSDN 网易云课堂教程 掘金 EDU学院教程 知乎 Flutter...系列文章 本文是异步编程的延时策略篇章,在Flutter中实现延时操作有两种方式,一种是通过Future,另一种是通过Timer。...*** 1 FutureFlutter中实现延时 1秒的操作,使用Fluture来实现,代码如下: ///代码清单 1-1 ///方式一 ///参数一 延时的时间...Future的then函数返回值类型为一个Future对象,所以支持链式调用,组合在一起就是串行方式调用,如下代码块 1-4 中所示: ///代码清单 1-4 Future.delayed...在代码清单1-3中所示的whenComplete方法,并返回一个Future,类似于try-catch-finally中的finally块,所以用whenComplete来结尾多个异步操作是一个合适的解决方案

    2.8K11

    Flutter(十)--Widget的异步-Future、微任务、Isolate(多线程)Flutter(十)--Widget的异步-Future、微任务、Isolate(多线程)

    /* * 1,需要注意返回值,=>是return的简写,所以1、2、3的then是compute的后续,所以是在多线程中执行,无序的。...; }); }).then((e) { print(e); return '第一个异步处理2'; }); } /* * 1,FutureOr表示可以返回一个Future...对象或者是实例 * 2,catchError在then前时,无法阻止then的执行,因为当前then实际上是在捕获catcherror这个Future * 3, catchError的闭包返回值是依附上一层的...,如果上一层没有返回值,catcherror中的返回值需要单声明变量后使用 * 4, 超时 * */ Future throwError() async { print('进入')...Future和then是一对属于事件队列中,必定会同步先后执行,并不是在Future执行完成后才去进行添加的。 传送门: Flutter-汇总

    1.2K20

    Flutter进阶篇(4)-- FlutterFuture异步详解一、认识Future二、创建多个Future的执行步骤三、then函数嵌套使用的执行步骤四、综合示例五、我们来看看Future的源码

    Flutter中的异步其实就是用的Dart里面的Future,then函数,回调catchError这些东西。下面举例详细解答一下使用过程和遇到的一些问题,让大家更好的明白异步流程。...本文首发在公众号Flutter那些事,欢迎大家多多关注。...接下来我们在then内部创建一个Future 看看执行顺序如何?...如果回调返回Future,那么then返回future将与callback返回future结果相同。 onError回调必须接受一个参数或两个参数,后者是[StackTrace]。...onError回调必须返回一个可用于完成返回future的值或future,因此它必须是可赋值给FutureOr 的东西。

    4.6K30

    Flutter异步编程Future与FutureBuilder的实用技巧

    在大家Flutter开发环境过程中遇到无法解决的问题可以在课程问答区进行提问,课程老师会对你进行辅导和帮助; 目录 什么是FutureFuture的常见用法? 获取Future的结果?...什么是FutureFuture表示在接下来的某个时间的值或错误,借助Future我们可以在Flutter实现异步操作。...; }); } future.timeout 完成一个异步操作可能需要很长的时间,比如:网络请求,但有时我们需要为异步操作设置一个超时时间,那么,如何Future设置超时时间呢?...在构建器函数中,我们检查connectionState的值,并使用AsyncSnapshot中的数据或错误返回不同的窗口小部件。...参考资料 Flutter从入门到进阶实战携程网App 「快速上手Flutter开发系列教程」之线程和异步UI开发指南

    2.3K10

    Flutter混编工程之通讯之路

    这个系列开始,我们将从「能用的Flutter」到「可用的Flutter」的迁移过程来讲解如何在实际项目中更好的使用Flutter,下面是第一篇。 对于混编工程来说,最常用的需求就是双端的数据通信。...Platform channels architecture 官方文档中提供了一个比较全的例子,下面我们通过这个例子,来好好分析下,如何使用Flutter和原生的通信管道。...,result的不同类型,代表了返回值的不同类型。...从原生侧获取图片 在Flutter侧,与前面的操作类似,我们需要一个Name标志来标志BasicMessageChannel,然后再通过调用send方法来发送一个指令,同时异步获取该指令的返回值。...展示图片时,我们需要使用FutureBuilder来进行承载,根据Future返回状态,来确定展示样式,代码如下所示。

    1.9K20

    Flutter 和 Dart 中取消 Future 的 3 种方法

    ❝作者:坚果 公众号:"大前端之旅" 华为云享专家,InfoQ签约作者,阿里云专家博主,51CTO博客首席体验官,开源项目GVA成员之一,专注于大前端技术的分享,包括Flutter,小程序,安卓,VUE...本文将引导您了解在 Flutter 和 Dart 中取消 future 的 3 种不同方法。 使用异步包(推荐) async包由 Dart 编程语言的作者开发和发布。...一个演示价值超过一千字: 代码 1.通过执行以下操作安装异步包: flutter pub add async 然后运行: flutter pub get 2.main.dart 中的完整源代码(附解释...使用timeout()方法,您可以限制Future的时间(例如 3 秒)。如果 future 及时完成,它的值将被返回。...结论 你已经学会了不止一种方法来取消 Flutter 中的Future。从其中选择一个以在您的应用程序中实现,以使其在处理异步任务时更加健壮和吸引人。

    2.4K10
    领券