异步编程之同步异步生成器函数

Posted 熊喵先生

tags:

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

继续 Dart 异步编程系列的最后一篇生成器函数。

生成器函数可能比较陌生,在平时开发中使用的不是特别频繁,但是因为它也是 Dart 异步编程的不可缺少的一部分,所以这里还是展开讲解分析,力求做到 Dart 异步编程系列文章更完整和全面。

生成器函数是一种用于延迟生成值序列的函数,并且在 Dart 中生成器函数主要分为两种:同步生成器函数和异步生成器函数。我们知道,比如 int 类型变量(同步)或 Future<int>(异步)类型变量都只能产生单一的值,而 Iterable<int> 类型变量(同步)或 Stream<int> 类型变量(异步)具有产生多个值的能力。其中同步生成器函数是立即按需生成值,并不会像 Future、Stream 那样等待,而异步生成器函数则是异步生成值,也就是它有足够时间去生成值。

Single value(单一的值) Zero or more value(零个值或者更多的值)
Sync(同步) int Iterable<int>
Async(异步) Future<int> Stream<int>

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

JS高阶五(JS中的异步编程下)

Python-异步编程

异步编程之 async 和 await

JavaScript 异步操作之回调函数

前端必学-函数式编程(六)

网络编程释疑之:同步,异步,阻塞,非阻塞