flutter 异步Stream以及StreamBuilder组件的使用

本文详细介绍了Flutter中的Stream,包括Stream的分类、创建方式、主要方法、操作符及StreamBuilder的使用。通过示例代码展示了如何创建、监听和处理Stream流,以及在实际应用场景中的运用。
摘要由CSDN通过智能技术生成

前言

在Flutter中StreamFuture一样都是用来处理异步操作的,但与 Future 不同的是,Stream可以接收多个异步操作的结果,它常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等,强调的是对一个过程的监控,而Flutter只是对某个结果的监测。

即Future可以给我们一个值,且返回结果之后生命周期也就结束了,但Stream不一样,在有的文章中将他比作管道,事件处理过程中产生的一系列值顺着管道流动,源源不断,被订阅者一一接收处理,直到流管道被关闭,生命周期才结束。

看过状态管理Bolc一章的同学都知道,在Bloc中,不同的事件Event经过对应的Bloc处理最终都是返回一个一个的状态State,而这些状态State返回的形式都是流,还记得Bloc中那个async*和关键字yield的使用吗,本篇我们就来具体认识一下Flutter中的Stream。

概述

在Flutter中在Flutter中,流具体分为两类:
1,单订阅流
2,支持多订阅的广播流
不同的流对应不同的创建方式,单订阅流在发送完成事件之前只允许设置一个监听器,并且只有在流上设置监听器后才开始产生事件,取消监听器后将停止发送事件。即使取消了第一个监听器,也不允许在单订阅流上设置其他的监听器。广播流则允许设置多个监听器,也可以在取消上一个监听器后再次添加新的监听器。

Stream 有同步流和异步流之分:
它们的区别在于同步流会在执行 add,a

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

智玲君

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

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

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

打赏作者

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

抵扣说明:

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

余额充值