memoLastCall
创建只缓存最近一次调用的记忆化函数版本
176 bytes
currently in beta
使用方法
创建一个函数的记忆化版本,只缓存其最近的一次调用。
当函数使用与上次调用相同的参数调用时,它返回缓存的结果而不是重新计算。这对于优化昂贵的计算很有用,当只需要缓存最新结果时,比传统的记忆化更节省内存。
import * as _ from "radashi";
const expensiveCalculation = (x: number, y: number): number => { console.log("Calculating..."); return x + y;};
const memoizedCalc = _.memoLastCall(expensiveCalculation);
memoizedCalc(2, 3); // 记录'Calculating...'memoizedCalc(2, 3); // 返回缓存结果memoizedCalc(3, 4); // 记录'Calculating...'memoizedCalc(2, 3); // 记录'Calculating...'过早优化
如果您没有分析您的应用程序并确认您打算记忆化的计算是瓶颈,使用这个函数是不好的做法。
除了性能提升,如果您的计算产生一个对象并且您希望记忆化调用返回相同的对象引用以进行相等性检查,这个函数可能会派上用场。