首页IT科技js同步http请求并加缓存的实现

js同步http请求并加缓存的实现

时间2025-09-19 07:44:21分类IT科技浏览5277
导读:缓存实现...

缓存实现

背景:有时候接口返回的数据短期内是不会改变的                ,可以对http接口返回的数据加缓存                        ,即减少了后端请求        ,又加快了前端性能                ,真是一举两得!

实现原理:用js的Object对象即可实现缓存                        ,{} 表示一个js对象        ,对象属性名是唯一的可以作为缓存key,属性值就是缓存value

例如:

同步方案

方案一

ajax同步

方案二

加控制变量

由于js引擎单线程        ,串形执行                        ,根据状态判断即可                。isLoading由js引擎线程                ,ajax线程共同操作        ,为共享变量!js执行原理可见:https://blog.csdn.net/sdasadasds/article/details/125197852

下面是伪代码

/** * 查询数据 */ function getData(){ if(!isLoading){ //不是数据加载中                        ,则可以开始加载 isLoading=true //http请求数据 ajax回调 cache.put(key,data); isLoading=false; }else{ //数据加载中                ,则循环延时等待数据 setTimeout(getCacheData,100) } } /** * 从缓存中取数据 */ function getCacheData(){ let that = this if(!isLoading){ //不是加载中,即数据加载完毕                        ,从缓存中取数据 let data = cache.get(key) return data }else{ //还在加载中                        ,延时递归获取 setTimeout(that.getCacheData, 100) } }
声明:本站所有文章,如无特殊说明或标注                ,均为本站原创发布                        。任何个人或组织                        ,在未征得本站同意时        ,禁止复制                、盗用                        、采集        、发布本站内容到任何网站                、书籍等各类媒体平台        。如若本站内容侵犯了原著者的合法权益                ,可联系我们进行处理                。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
js数组查询indexof(js查找数组中符合条件的元素)