依赖
import地图缓存from。/MapCache.js '
源代码分析
总体思路
从源代码中可以看到,SetCache实际上调用了MapCache类,使用缓存的值作为键,所有与键对应的值都是lodash定义的标准。
Undefined值HASH_UNDEFINED,如前一篇文章中所讨论的,当这个值用于HASH缓存时,它避免了在判断缓存是否存在时出错。
判断缓存是否存在,只需要判断MapCache是否有对应的密钥。
constructor
这里,构造函数不需要传入键值的二维数组,只需要一个包含所有缓存值的数组。
__data__属性保存一个MapCache实例。
初始化时,您只需要遍历要缓存的数组值,然后调用add方法来设置缓存。
add
add方法用于设置缓存。
实际上,它调用MapCahce实例的set方法,使用缓存值作为键,使用HASH_UNDEFINED作为缓存值。
has
has方法用于确定缓存是否存在。
只需要调用映射缓存实例的has方法。
push
push
add方法只是push方法的另一个名字。