http://cn.rx.js.org/manual/overview.html#h213

https://rxjs-cn.github.io/rxjs5-ultimate-cn/content/hot-n-cold-observables.html

冷观察

const {
Observable
} = require('rxjs'); var clock = Observable
.interval(1000)
.take(5)
.map(x => x+1) setTimeout(() => {
clock.subscribe(x => console.log(` b: ${x}`))
}, 4500); clock.subscribe(x => console.log(`a: ${x}`)); //
>node test/test.js
a: 1
a: 2
a: 3
a: 4
a: 5
b: 1
b: 2
b: 3
b: 4
b: 5

热观察

const {
Observable
} = require('rxjs'); var clock = Observable
.interval(1000)
.take(5)
.map(x => x+1)
.publish()
.refCount() setTimeout(() => {
clock.subscribe(x => console.log(` b: ${x}`))
}, 4500); clock.subscribe(x => console.log(`a: ${x}`)); //
>node test/test.js
a: 1
a: 2
a: 3
a: 4
a: 5
b: 5

共享(热)

const { interval, of, merge, concat } = require('rxjs');
const {share, take} = require('rxjs/operators'); let x$ = interval(500).pipe( take(5), share() ) x$.subscribe(v => console.log(`A$ => ${v}`)) setTimeout(()=>{
x$.subscribe(v => console.log(` B$ => ${v}`))
}, 2000) λ node main.js
A$ => 0
A$ => 1
A$ => 2
A$ => 3
B$ => 3
A$ => 4
B$ => 4

rx.js 的冷和热观察的更多相关文章

  1. [No000060]冷读热读:读书九问

    兵无常势,水无常形,读书亦无法.彼之砒霜,我之佳肴.然读书无法却有道.你我都是使用同一颗大脑在读书.这颗大脑受制于那千千万万年以来,星辰起落,狩猎采集,演化大道. Q1:读物如何分级? 坏书.可用的书 ...

  2. Rx.js实现原理浅析

    前言 上次给大家分享了cycle.js的内容,这个框架核心模块的代码其实只有一百多行,要理解这个看似复杂的框架,其实最核心的是理解它依赖的异步数据流处理框架--rx.js.今天,给大家分享一下rx.j ...

  3. 2020-07-14:es用过冷热分离吗?假如现在有些数据热变冷,有些数据冷变热,怎么解决?

    福哥答案2020-07-14: 热变冷: 有x台机器tag设置为hot. 有y台机器tag设置为cool. hot集群中只存最近两天的. 有一个定时任务每天将前一天的索引标记为cool. es看到有新 ...

  4. webpack-dev-server轻量级js高速打包、热部署服务器

    webpack是一个打包web项目的工具 ,可以实现css,js,less,cass,html的混淆加密,minify,结合webpack-dev-server热部署,非常方便前端页面和Nodejs的 ...

  5. node.js之nodemon 代码热更新 修改代码后服务器自动重启

    1.安装nodemon: npm install -g nodemon //全局安装 npm install nodemon --save //局部安装 2.在项目根目录下创建 nodemon.jso ...

  6. ElasticSearch6.3.2 集群做节点冷(warm) 热(hot) 分离

    拿一个小规模的5节点ES集群做冷热分离尝试,它上面已经有60多个索引,有些索引按月.每月生成一个索引,随着数据的不断写入,历史数据(只需保留三个月数据,三个月之前的数据视为历史数据)越来越占磁盘空间和 ...

  7. js数组冷知识

    省略数组值 在声明数组时,省略一些数组值 let a = [1,,3] //a.length为3 a = [,,] //a.length为2 0 in a //false,a在索引0处没有元素 稀疏数 ...

  8. 一系列令人敬畏的.NET核心库,工具,框架和软件

    内容 一般 框架,库和工具 API 应用框架 应用模板 身份验证和授权 Blockchain 博特 构建自动化 捆绑和缩小 高速缓存 CMS 代码分析和指标 压缩 编译器,管道工和语言 加密 数据库 ...

  9. 【IDEA】IDEA设置修改完JS和JSP不用重启的办法(IDEA热部署)

    修改完JS和JSP不停的重启服务器真的很烦,所以设置修改完之后不用重启也生效: 前提有两个: 确保使用的是debug模式. 确保tomcat是由idea实例化的.也就是说tomcat是在idea中配置 ...

随机推荐

  1. 阿里云服务器CentOS7怎么分区格式化/挂载硬盘

    一.在阿里云上购买了服务器的硬盘后就可以操作了,先看看硬盘情况: 硬盘vda是系统盘:vdb是在阿里云后台购买的另一块硬盘. 第一次使用要分区:fdisk /dev/vdb1 在提示符下依次输入:n+ ...

  2. Visitor模式和Observer观察者模式

    所谓访问者模式,就是不同服务提供者对同一种服务提供的服务内容不同. Typedef   std::vector<Ivisitable>   VisitbleArray; Typedef  ...

  3. 基于ubuntu搭建 WordPress 个人博客

    系统要求:Ubuntu 16.04.1 LTS 64 位操作系统 准备 LAMP 环境:(LAMP 是 Linux.Apache.MySQL 和 PHP 的缩写,是 Wordpress 系统依赖的基础 ...

  4. [转]设备唯一标识方法(Unique Identifier):如何在Windows系统上获取设备的唯一标识

    原文地址:http://www.vonwei.com/post/UniqueDeviceIDforWindows.html 唯一的标识一个设备是一个基本功能,可以拥有很多应用场景,比如软件授权(如何保 ...

  5. 【Big Data - Hadoop - MapReduce】hadoop 学习笔记:MapReduce框架详解

    开始聊MapReduce,MapReduce是Hadoop的计算框架,我学Hadoop是从Hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能 ...

  6. js的new Date()日期的使用

    <script type="text/javascript"> //js获取某个月的天数 function days(year,month){ var dayCount ...

  7. MySql-Binlog协议详解

    Reference: https://blog.csdn.net/hj7jay/article/details/56665057?utm_source=blogxgwz7 MySql-Binlog协议 ...

  8. github建库不成功,不能用SVN上传

    说明(2017-12-7 11:37:35): 1. 之前用SVN向gihub提交代码没有一点问题,昨天新建了一个仓库,结果死活提交不上去,以为是SVN的问题,折腾了一天都没弄好. 2. github ...

  9. 阿里云 FTP 无法读取目录问题

    安全组除了添加制定 FTP端口外 需要加入再添加1024/65535端口 放行策略,ftp被动模式需要随机开一个此范围端口进行传输 添加安全组规则参考文档:https://help.aliyun.co ...

  10. 关于Unity中NGUI的Checkbox复选框、Slider滑动条和Button的6种触发回调事件的方式

    Checkbox复选框 1.创建一个NGUI背景Sprite1节点 2.打开NGUI---->Open---->Prefab Toolbar---->选择一个复选框节点,拖拽到背景节 ...