异步编程之 Future

Posted 熊喵先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异步编程之 Future相关的知识,希望对你有一定的参考价值。

继续 Dart 异步系列的第三篇 Future, 关于 Future 可以说是在 Dart 异步编程中随处可见,比如一个网络请求返回的是 Future 对象,或者访问一个 SharedPreferences 返回一个 Future 对象等等。异步操作可以让你的程序在等待一个操作完成时继续处理其它的工作。而 Dart 使用 Future 对象来表示异步操作的结果。我们通过前面文章都知道 Dart 是一个单线程模型的语言,所以遇到延迟的计算一般都需要采用异步方式来实现,那么 Future 就是代表这个异步返回的结果。

1. 先来复习前面的几个概念

1.1 事件循环 EventLoop

Dart 的 EventLoop 事件循环和 javascript 很类似,同样循环中拥有两个 FIFO 队列: 一个是事件队列(Event Queue),另一个就是微任务队列(MicroTask Queue)。

  • Event Queue主要包含 IO、手势、绘制、定时器(Timer)、Stream 流以及本文所讲 Future 等

以上是关于异步编程之 Future的主要内容,如果未能解决你的问题,请参考以下文章

异步编程之 Future

folly教程系列之:future/promise

阿里技术专家加多:Java异步编程实战之基于JDK中的Future实现异步编程

异步编程之Future和Listener

Flutter异步编程

并发编程之Callable异步,Future模式