简单看了一下这个函数的实现,作用是把一个函数包装成只能执行一次的新函数,第二次再执行会直接返回第一次的执行结果。
看起来就是个简单的性能优化。例如某个函数执行结果可能很久、或是占用内存很大,但一旦执行结束后,就可以把执行结果缓存下来,后面直接取这个结果就行了,不用再重复耗时执行。
而且我翻了一下提交记录,这个函数在 2018 年 12 月的一次 commit 中被引入。但直到 2020 年 4 月,还有相关的 commit,也没啥变化,就是把 require
之类的方法全都用 memorize
又包了一层,实在是没看明白有啥用,require
本来就是只会执行一次啊。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…