Rxjs 中的tap和map区别以及在append出现的问题

序言:

本周在前台编写的时候遇到了不少问题,其中理解老师优化的不少代码的过程当中有不少的收获。数组

1.首先是在获取和存储缓存:

目的:将以前出现过的学生缓存到一个对象数组中。获取方式:班级的id缓存

个人想法:直接将全部出现过的学生放到一个对象数组中,获取:直接从对象数组中循环获取班级id知足要求的。

老师作法:网络

直接将班级id做为参数传入,返回存储时班级id等于该id的对象数组。

record:image.png

首先看注释:app

用类型T的一组属性K构造一个类型,根据注释能够猜个大概,可是对于代码仍是不太了解

2.关于tap和map的理解:

因为以前更可能是使用map,忽然使用tap便不知道它的做用了。查阅了不少博客,仍是没有一个很好的理解。最后本身去举了个简单的例子测试了一下:

tap:image.pngimage.png

上面是两个tap的小测试:第一个直接打印了data+1,很显然会是2, 第二个若是直接用data = data + 1 进行测试,在订阅打印后发现输出值依然为1。

map:image.png

经过map改变的data,在打印后发现它的值变动为2。函数

本身进行测试以后再从新翻看博客:

原来tap执行完以后反作用并不会影响你订阅的值,正如其名:监听。它会返回与源Observable相同的Observable。测试

map是管道运算符。映射将给定函数应用于源Observable发出的每一个元素,并将结果值做为Observable发出。优化

HttpParams.append遇到的问题:

问题再现:

image.png
在初始化的时候没有将name添加到params中,在下面单独添加添加失败,以下图:
image.png
只有两项数据:size和page,并无添加成功name。
那么将name也在初始化时添加呢:
image.pnggoogle

image.png

成功添加!

google搜索后:image.png地址:https://stackoverflow.com/que...

这部分红功解决了个人疑问,可是对于下面的部分不太理解:

image.png

本文保留全部权利,版权归河北工业大学梦云智软件开发团队全部。未经团队及做者事先书面赞成,您不得以任何方式将本文内容进行商业性使用或经过信息网络传播本文内容。本文做者:郝泽龙spa

相关文章
相关标签/搜索