[译]RxJS文档04——Observer 观察者
原文: http://reactivex.io/rxjs/manu...
什么是Observer? 观察者(Observer)是Observable流推送数据的用户。观察者们(Observers)就是一组callback函数的集合,监听着每一个Observable流推送出的不同类型的通知,包括:next
,error
和complete
。
以下是一个经典的观察者对象:
var observer = {next: x => console.log('Observer got a next value: ' + x),error: err => console.error('Observer got an error: ' + err),complete: () => console.log('Observer got a complete notification'),
};
为了使用观察者,需要让他订阅一个Observable流:
observable.subscribe(observer);
观察者是一个包含三个回调函数的对象,每一个函数都时刻准备接收来自Observable流推送的不同消息。
Observer在RxJS中是被优待的。如果没有为某个类型的通知提供callback,Observable流的执行过程仍然会照常进行,但是响应的通知将会被忽略,因为观察者没有提供相应的callback来接收。
下面是一个Observer没有提供complete
响应(callback)的例子:
var observer = {next: x => console.log('Observer got a next value: ' + x),error: err => console.error('Observer got an error: ' + err),
};
订阅一个Observable流的时候,你也可以只提供一个callback函数作为参数,而不用完整提供一个包含三个回调的对象,就像下面的例子:
observable.subscribe(x => console.log('Observer got a next value: ' + x));
在observable.subscribe()
内部,将会创建一个观察者对象(Observer object),并将第一个参数提供的callback作为next
通知的响应函数。接受三个类型通知的callback也可以分别以参数的形式提供:
observable.subscribe(x => console.log('Observer got a next value: ' + x),err => console.error('Observer got an error: ' + err),() => console.log('Observer got a complete notification')
);
[译]RxJS文档04——Observer 观察者相关推荐
- 【Qt】DOM创建和操作XML文档
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 创建XML文档 04. 读取XML文档 05. 增加XML节点 06. 查找.删除.更新XML文档 07. 附录 01. ...
- JS-DOM-节点-获取元素-文档结构-元素的属性
JS-DOM-节点-获取元素-文档结构-元素的属性 1 回顾 1.1 内置构造函数 Function Function 的实例的属性和方法:lengthcall()applay()bind() 1.2 ...
- 文档化Python代码完全指南(翻译)
阅读代码比编写代码更多,有良好丰富文档的项目会吸引更多人使用和参与开发贡献.本教程旨在详细阐述如何将 Python 代码实现"文档化",介绍了注释用法.类型提示.文档字符串.在项目 ...
- Angular RxJS入门笔记 (Observable可观察对象、Subscribe订阅、Observer观察者、Subscription对象)
RxJS入门笔记,关于Observable可观察对象.Observer观察者.Subscribe订阅,Subscription Observable可观察对象 Observer观察者 总结整体 本笔记 ...
- [译] APT分析报告:11.深入了解Zebrocy的Dropper文档(APT28)
这是作者新开的一个专栏,主要翻译国外知名安全厂商的APT报告,了解它们的安全技术,学习它们溯源APT组织和恶意代码分析的方法,希望对您有所帮助.当然,由于作者英语有限,会借助机翻进行校验,还请包涵! ...
- Ubuntu 11.04 (Natty Narwhal)图形安装教程、基本设置、网络设置、软件源、开启Unity、ubuntu文档
一.准备安装Ubuntu 11.04系统 1.Ubuntu简介 Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的"ubuntu"一词(译为吾 ...
- 在Ubuntu 14.04 64bit上生成ATS本地离线文档
下面是在Ubuntu 14.04 64bit上生成ats本地离线文档的方法 首先请安装配置好sphinx环境,参见我前面的博文 http://blog.csdn.net/tao_627/article ...
- linux如何右键新建文件夹,在Ubuntu 18.04右键菜单中增加新文档(New Document)及其他类型选项...
本文教你在Ubuntu 18.04操作系统下使用命令操作在右键菜单中增加"新文档(New Document)"选项,包括为不同文件类型增加右键菜单选项的方法.起因是当我尝试创建一个 ...
- Ubuntu 11.04解决txt文档中文乱码方法
Ubuntu 11.04解决txt文档中文乱码方法: $ gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferen ...
最新文章
- 来个例子,彻底弄懂什么是 EM 算法
- bootstrap-反色导航条
- linux 快照备份导出,KVM之虚拟机几种备份方法(快照/克隆/导出)
- Python求解线性方程组
- Kubernetes 稳定性保障手册 -- 日志专题
- 基于Java的TCP Socket通信详解(计算机端/Android手机端)
- 聊一聊Load Average
- GitHub 上数十个 NetBeans 开源项目被卷入供应链攻击
- easyUI导入导出
- vue如何加载html字符串_VUE渲染后端返回含有script标签的html字符串示例
- 微商加人方法,感动你我的加人故事
- 支配树学习思路/模板
- 系统分析师学习笔记(十七)
- 计算机考研数学考数学二的专业,考研常识:哪些专业考数学二?
- 岩板铺地好吗_卧室铺地板还是瓷砖好 这里给你答案
- oracle ora 31644,dmp文件损坏导致ORA-39014 ORA-39029 ORA-31693错误
- JMockit didn't get initialized
- 计算机控制面板有何用途,控制面板上面功能都有什么作用
- python实现真值表
- 把图片修改成指定的像素大小?
热门文章
- python实训报告pygame_[源码和文档分享]基于Python的PyGame库实现的2048小游戏
- prometheus下载慢_Prometheus + Grafana 监控 SpringBoot
- TopShell管理服务
- Deconvolution与Upsampling的区别
- C# 中对WinForm窗体中的控件快速设置TableIndex次序
- python小白-day6 ConfigParser模块
- 传递闭包(Floyd+bellman-Fold POJ1932)
- 数据仓库经验小结(转)
- WebService与使用风格RPC/SOA/REST
- 关于Android Studio里的Gradle文件