We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
本文为读 lodash 源码的第六十七篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
gitbook也会同步仓库的更新,gitbook地址:pocket-lodash
import memoize from '../memoize.js'
《lodash源码分析之memoizeCapped》
memoizeCapped 其实调用的是 memoize ,不过会定制 memoize 的 resolver 函数,定制的主要作用是限制缓存的数量,避免缓存太大,占用太多的内存。
memoizeCapped
memoize
resolver
const MAX_MEMOIZE_SIZE = 500 function memoizeCapped(func) { const result = memoize(func, (key) => { const { cache } = result if (cache.size === MAX_MEMOIZE_SIZE) { cache.clear() } return key }) return result }
设置了缓存最大的数量为 500,如果缓存数量超过 500 ,则会将之前的缓存全部清空。
500
署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)
最后,所有文章都会同步发送到微信公众号上,欢迎关注,欢迎提意见:
作者:对角另一面
The text was updated successfully, but these errors were encountered:
No branches or pull requests
本文为读 lodash 源码的第六十七篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
gitbook也会同步仓库的更新,gitbook地址:pocket-lodash
依赖
《lodash源码分析之memoizeCapped》
源码分析
memoizeCapped
其实调用的是memoize
,不过会定制memoize
的resolver
函数,定制的主要作用是限制缓存的数量,避免缓存太大,占用太多的内存。设置了缓存最大的数量为
500
,如果缓存数量超过500
,则会将之前的缓存全部清空。License
署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)
最后,所有文章都会同步发送到微信公众号上,欢迎关注,欢迎提意见:
作者:对角另一面
The text was updated successfully, but these errors were encountered: