前端面试时的两个提问,关于js防抖和vuex刷新页面的问题,求助大佬帮忙解答一下?

1、js的防抖,我给一个按钮添加了防抖的功能,用户点击按钮半秒之后才触发事件,那么如果用户一直频繁的点击按钮,是不是这个事件就触发不了呢?这种情况怎么解决呢?

2、vuex相关的问题,当用户刷新页面的时候,当前数据会丢失,面试官问我怎么处理,我说在 sessionStorage里面存一份。那么面试官接着问,那你的数据是在vuex和sessionStorage各存一份吗?当我听到这里的时候,我也觉得不合理,所以这种情况怎么回答呢?

以上就是我的两个问题,希望有大神帮我解答一下,谢谢了!!!


回答:

第一个问题,你没有理解防抖的机制,防抖的原理就是设置一个定时器,等待一段时间后再执行函数,如果在这段时间内再次触发了事件,就会清除原来的定时器,重新设置一个新的定时器。所以,如果用户一直频繁地点击按钮,事件确实是不会被触发的。这是防抖的作用,因为防抖的目的就是阻止在短时间内频繁触发事件。可以用节流,你想要频繁点击的时候也能触发。
第二个问题,你可以存在浏览器缓存里,刷新的时候,从浏览器读取数据中性初始化Vuex,你要想想你为什么要存浏览器缓存里,是因为你的数据是存在内存里的,刷新的时候Vuex会掉状态才存的,存了两份但是都是同一个状态,不突兀,就是记得两份的数据要保持同步,每次修改的时候。

以上是 前端面试时的两个提问,关于js防抖和vuex刷新页面的问题,求助大佬帮忙解答一下? 的全部内容, 来源链接: utcz.com/p/934663.html

回到顶部