冷观察
| 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 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· DeepSeek V3 两周使用总结
· 回顾我的软件开发经历(1)
· C#使用yield关键字提升迭代性能与效率
· 低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解
· 4. 使用sql查询excel内容