vue缓存接口场景:同一个接口不会再被调用1.比如搜索名字的功能,不会重复向接口发送相同的参数2.比如,二次筛选,二次选择是根据一级选择请求接口,缓存后减少请求数。使用vue的cached函数将参数缓存为key,value缓存为对应的函数functioncached(fn){varcache=Object.create(null);return(functioncachedFn(str){varhit=cache[str];returnhit||(cache[str]=fn(str))})}*但是这个函数支持参数为一个的情况*如果有多个参数,它应该做一些事情Modifyfunctioncached(fn){constcache=Object.create(null);返回函数cachedFn(params){letkey=typeof(params)==='string'?参数:JSON.stringify(参数);//如果参数是对象,则将其转为字符串作为存储的keyconsthit=cache[key];回击||(缓存[键]=fn.call(fn,参数));};}callimportaxiosfrom'axios';constinit=cached(function(params){returnaxios({method:"post",url:'xxx',data:params}).then(res=>{返回res})}init();综上所述,相同的参数不会再次掉接口,无论返回的接口结果如何,只要参数相同,就不会再次掉接口!!!
