• 软件:1711
  • 资讯:45336|
  • 收录网站:98302|

IT精英团

js系列十九:纯函数的可缓存性

js系列十九:纯函数的可缓存性

浏览次数:
评论次数:
编辑: 景同
信息来源: 51CTO博客
更新日期: 2021-07-22 12:19:39
摘要

js系列十九:纯函数的可缓存性,在实践中我们可能会处理大量的数据,例如根据日期,得到当日相关的数据,并处理成前端能够使用的数据。假设我们封装了一个process方法来处理每天的数据。而这个处理过程会很复杂,如果不缓存处理结果,那么每次想要得到当天的数据时,就不得不从原始数据再转换一次。当数据的处理足够复杂时,那么很可能不是性能最优的解决方案。而纯函数的特点是,相同的输入总能够得到相同的输出,因此如果将处理的每一天的数据缓存起来,...

  • 资讯详情

在实践中,我们可能会处理大量的数据,例如根据日期,获取与当天相关的数据,并将其处理成前端可以使用的数据。假设我们封装了一个流程方法来处理日常数据。但是,这个过程会非常复杂。如果没有缓存处理结果,每次想要获取当天的数据,都要从原始数据中重新转换。当数据处理足够复杂时,它可能不是最佳解决方案。纯函数的特点是相同的输入总是可以得到相同的输出,所以如果你缓存了每天的数据,那么当你想第二次或者更多次得到当天的数据时,就不用经过复杂的处理。

//输入日期以获取当天的数据

功能流程(日期){ 0

var结果=' ';

//省略中间复杂的处理。

返回结果;

}

功能宽度流程(基础){ 0

var cache={ };

返回函数(){ 0

var date=参数[0];

if(缓存[日期]){

返回缓存[日期];

}

返回base.apply(base,参数);

}

}

var _process=widthProcess(进程);

//经过上面的代码处理,我们可以使用_process来获取我们想要的数据

//如果数据存在,则返回缓存中的数据;如果它不存在,它将调用process方法再次获取它。

_流程(' 2017-06-03 ');

_流程(' 2017-06-04 ');

_流程(' 2017-06-05 ');

在上面的例子中,通过使用闭包的特性将处理后的数据缓存在缓存中,这被认为是高阶函数的应用。正是因为纯函数的可靠性,我们才能确保缓存的数据正是我们想要的。

669 _ autosar _ tr _ autosar model constraints文档读取
« 上一篇
返回列表
下一篇 »
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
你会是第一个来这里评论的人吗?
最近发布资讯
更多