原始代码:

console.log('before ngOnInit');const source$ = range(0, 10);source$.pipe(/*filter((x, index) => {console.log('inside filter!: ' + x + ' index: ' + index);return x % 2 === 0 })*/ map( x => { console.log('inside map: ' + x);return (x + x); })/*// scan((acc, x) => acc + x, 0)scan(this.accumulator)*/).subscribe(x => console.log('result: ' + x));

执行subscribe操作:

operator就是map operator的wrapper:

此处调用source Observable实例的subscribe方法:

原始的Observable就是调用了range之后生成的Observable对象:

调用下一个Observable:

即map operator的实现:

再由map operator传递给下一个subscriber:

于是就执行到了应用程序指定的subscribe回调里:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

rxjs pipe和map组合的一个实际例子的单步调试相关推荐

  1. rxjs pipe和filter组合的一个实际例子的单步调试

    源代码: const source$ = range(0, 10); range(0,10)返回一个新的Observable,但是不会立即执行,直到遇到subscribe调用为止: 下图高亮的这段代码 ...

  2. js 排列 组合 的一个简单例子

    最近工作项目需要用到js排列组合,于是就写了一个简单的demo. 前几天在网上找到一个写全排列A(n,n)的code感觉还可以,于是贴出来了, 排列的实现方式: 全排列主要用到的是递归和数组的插入 比 ...

  3. C# 委托:把方法组合到一个数组中使用

    C# 委托:把方法组合到一个数组中使用 using System; using System.Collections.Generic; using System.Linq; using System. ...

  4. 如何将两个DateTimePicker的日期和时间组合成一个值

    有两个DateTimePicker,DateTimePicker1用于选择日期,DateTimePicker2用于选择Time,现在需要将两个DateTimePicker的值组合成一个DateTime ...

  5. jupyter notebook是一种Web 应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中

    Jupyter notebook(http://jupyter.org/) 是一种 Web 应用,能让用户将说明文本.数学方程.代码和可视化内容全部组合到一个易于共享的文档中.

  6. java8 map_Java8 Map 示例:一个略复杂的数据映射聚合例子及代码重构

    原标题:Java8 Map 示例:一个略复杂的数据映射聚合例子及代码重构 来源:琴水玉, www.cnblogs.com/lovesqcc/p/7812875.html 本文内容来自真实的工作案例,因 ...

  7. mysql 两个select结果_MySQL UNION连接两个以上的SELECT语句的结果组合到一个结果集合...

    在MySQL中,UNION 操作符用于把来自多个 SELECT 语句的结果组合到一个结果集合中. 语法格式:SELECT ... UNION [ALL | DISTINCT] SELECT ... [ ...

  8. SAP MM采购定价过程的一个简单例子

    SAP MM采购定价过程的一个简单例子 本文以一个简单的例子阐述了SAP MM模块中采购定价的基本原理.本例中,假定采购订单里输入的是含税采购价,然后系统自动计算出物料最终的采购价格(含税价-税额=采 ...

  9. 用一个实际例子理解Docker volume工作原理

    要了解Docker Volume,首先我们需要理解Docker文件系统的工作原理.Docker镜像是由多个文件系统的只读层叠加而成.当一个容器通过命令docker run启动时,Docker会加载只读 ...

最新文章

  1. 如何区分两列中不同数据_如何在VESTA中区分不同表面层的原子
  2. Linux运维比较实用的工具
  3. Spring BPP中优雅的创建动态代理Bean
  4. 查看网口命令_20个常用Linux命令
  5. centos 新装mysql 进入,centos5安装 mysql 提示需要用户及密码进入?Duplicate entry 'localhost-' for key 1...
  6. ModuleNotFoundError: No module named '_ctypes' ERROR:Command errored out with exit status 1: python
  7. 表格c1等于a1加b1_中国最牛驾照,C1、B1、B2、A1、A2随便开,被称为万能的驾照!...
  8. 魅思V20全新正规视频系统源码
  9. 哪些人适合做前端开发?HTML5前端发展前景怎么样?
  10. 模拟tcp_TCP 半连接队列和全连接队列满了会发生什么?又该如何应对?
  11. 世界名牌CD机解码芯片大全
  12. 笔记本电脑怎么录制视频
  13. java excel 饼图_Java 在Excel中添加分离型饼图、环形图
  14. 关于猎聘网投递简历后的“已储备”状态
  15. IT土鳖混外企(一)------面试
  16. 爬取《喜马拉雅》音频排行榜
  17. NFC模块方案,轻松实现NFC通讯
  18. 注意!多款智能家居Hub存在远程代码执行漏洞
  19. seo可以从哪些方面优化(seo优化的方法有哪些)
  20. 【第80题】JAVA高级技术-多线程14(闭锁和栅栏)

热门文章

  1. 在php获取访问方的ip
  2. 一个小型数据库的核心组件
  3. BZOJ4388 : JOI2012 invitation
  4. 聚集索引和非聚集索引的区别有哪些
  5. SQL应用与开发:(三)数据操作 #183; 改 AND 删
  6. 在企业内部使用openssl创建私有CA
  7. c#中contextMenuStrip与datagridview使用CellMouseDown事件及treeview使用mousedown事件
  8. 什么是卷影复制,卷影服务是什么
  9. Scala 元组(tuple)
  10. 【repost】一探前端开发中的JS调试技巧