异步编程之 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的主要内容,如果未能解决你的问题,请参考以下文章