序言:

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

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

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

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

老师做法:

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

record:image.png

首先看注释:

 用类型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.png

image.png

成功添加!

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

这部分成功解决了我的疑问,但是对于下面的部分不太理解:

image.png

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


郝泽龙_HZ
182 声望18 粉丝