Rxjs Observable.pipe 传入多个 operators 的执行逻辑分析

简介: Rxjs Observable.pipe 传入多个 operators 的执行逻辑分析

测试代码:

fromEvent(this.test, 'click').pipe(map( event => event.timeStamp), mapTo(1)).subscribe((event) => console.log(event));

pipe 操作的两个输入操作:

image.png

<html>
<script>
var a = [1,2,3,4];
function fn(pre, cur, index, arr){
  console.log(`previous: ${pre}, cur: ${cur},
    index: ${index}, whole arr: ${arr}`);
  return pre + cur;
}
console.log(a.reduce( fn, 0));
</script>
</html>

reduce 接受两个参数,第一个参数是一个函数,该函数接收 4 个输入参数,previous,current,index 和 array:


previous:前一轮 reduce 迭代值,如果第一轮,则该值为第二个参数,即初始值

current:当前这轮的 reduce 迭代值。例如,array 元素为1,2,3,4,则 reduce 每轮迭代,current 值分别为1,2,3,4

index:迭代的索引值

array:调用 reduce 的原始数组,配合前一个 index 参数,能访问整个数组的内容

image.png

image.png

image.png

相关文章
|
数据可视化 定位技术
【threejs】可视化大屏酷炫3D地图附源码
【threejs】可视化大屏酷炫3D地图附源码
10183 130
【threejs】可视化大屏酷炫3D地图附源码
|
JavaScript
vue中的data为什么是一个函数
vue中的data为什么是一个函数
|
存储 前端开发 定位技术
用Three.js搞个炫酷的3D区块地图
常用的3D区块地图除了那个区块,还要满足波纹散点、渐变柱体、飞线、下钻上卷、视角适配等,点开我,这就安排!用Three.js给你搞一个!
用Three.js搞个炫酷的3D区块地图
|
NoSQL 关系型数据库 MySQL
国产数据库openGauss之乱象
重点讲解openGauss国产数据库的历史和目前的一些乱象。
|
机器学习/深度学习 运维 自然语言处理
抑制告警风暴—SLS告警智能合并发布
SLS最新推出了告警智能合并能力,让用户只需一些极简的配置,便可开启告警的智能降噪,抑制告警风暴。
1575 1
|
算法 安全 数据安全/隐私保护
聊聊 RSA 算法
1977年,三位数学家 Rivest、Shamir和 Adleman 设计了一种算法,可以实现非对称加密。这种非对称加密算法(公钥密码算法)用他们三个人的名字命名,叫做 RSA 算法。
聊聊 RSA 算法
|
JavaScript 算法
【算法】判断链表是否有环(typescript)
判断链表是否有环(typescript)
191 0
【算法】判断链表是否有环(typescript)
|
JSON JavaScript 前端开发
你不知道的JavaScript丛书总结(二)
你不知道的JavaScript丛书总结(二)
|
SQL 存储 数据库
Flutter 26: 图解关乎 SQL 数据库的二三事 (一)
0 基础学习 Flutter:第二十六步:学习了解 SQL 的基本操作~
3304 0