异步编程之 Streams

26 篇文章 14 订阅 ¥39.90 ¥99.00
本文详细介绍了Dart中的Stream,包括为何需要Stream、Stream的定义及其两种订阅模型,阐述了如何创建和使用Stream,以及Stream与Future的区别。通过实例展示了Stream在异步编程中的应用,如文件IO、数据库读写等场景。
摘要由CSDN通过智能技术生成

0_22FkfJ_X4zfachDO.png

继续 Dart 异步系列的第四篇 Stream,Stream 是构成了 Dart 响应式流编程重要组成部分。相比上篇文章中的 Future,每个 Future 代表单一的值,可以异步传送数据或异常。而 Stream 的异步工作方式和 Future 类似,只是 Stream 代表的是一系列的事件,那么就可能传递任意数据值,可能是多个值也可以是异常。比如从磁盘中读取一个文件,那么这里返回的就是一个 Stream。此外 Stream 是基于事件流订阅的机制来运转工作的。

1. 为什么需要 Stream

首先,在 Dart 单线程模型中,要实现异步就需要借助类似 Stream、Future 之类的 API 实现。所以 Stream 可以很好地实现 Dart 的异步编程。

此外,在 Dart 中一些异步场景中,比如磁盘文件、数据库读取等类似需要读取一系列的数据时,这种场景 Future 是不太合适的,所以在一些需要实现一系列异步事件时 Stream 就是不错的选择,Stream 提供一系列异步的数据序列。换个角度理解 Stream 就是一系列的 Future 组合,Future 只能有一个异步响应,而 Stream 就是一系列的异步响应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊喵先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值