ReactiveX 概念
IObservable<T>
IObservable(被观察者)接口,表示可观察的数据流对象。被观察者接口只包含一个Subscribe方法。调用该方法,意味着观察者对象开始观察数据流。开始观察之后如果需要停止观察,必须销毁该方法所返回的IDisposable对象。
//Defines a provider for push-based notification. public interface IObservable<out T> { //Notifies the provider that an observer is to receive notifications. IDisposable Subscribe(IObserver<T> observer); }
IObserver<T>
IObserver(观察者)接口,表示观察数据流的观察者对象。观察者接口包含三个方法:OnNext,OnError,OnCompleted。通过调用这三个方法,作为被观察者的数据流对象通知观察者对象前者即将进行某种操作。OnNext方法表示数据流即将提供数据。OnError方法表示数据流发生异常。OnCompleted方法表示数据流成功完成自身使命,不再提供数据。
//Provides a mechanism for receiving push-based notifications. public interface IObserver<in T> { //Provides the observer with new data. void OnNext(T value); //Notifies the observer that the provider has experienced an error condition. void OnError(Exception error); //Notifies the observer that the provider has finished sending push-based notifications. void OnCompleted(); }
调用约定:调用0个或多个OnNext(T)方法之后再选择性的调用一次OnError(Exception)或者OnCompleted()。这三个方法都未必会被调用。
IObserver<T>:reader 读取者,consumer 消费者
IObservable<T>:writer 写入者,publisher 发布者
Subject<T>:同时实现了IObservable<T>和IObserver<T>。
ReplaySubject<T>:带缓存的Subject<T>。
BehaviorSubject<T>:只记得最后一次发布,带缺省值。
AsyncSubject<T>:只记得最后一次发布,只在结束时发布。
————————————————
版权声明:本文为CSDN博主「zwvista」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zwvista/article/details/53315949
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
2016-05-27 sqlserver 根据旧表创建新表
2016-05-27 SQLServer中char、varchar、nchar、nvarchar的区别
2016-05-27 SDF与MDF的区别
2016-05-27 win8 装的SQL Server2012 企业版
2015-05-27 STL中的find_if函数
2014-05-27 qt 数据库操作总结
2014-05-27 Pro*C编程研究一:从.pc到.exe