Vue.js框架:为避免短时间内以及调取接口后未返回数据期间进行重复操作的加锁问题(数据-时间联动双重锁)
一、问题描述
在页面中执行操作时,往往会遇到短时间内重复点击造成的多次触发问题,频繁调取接口。或者由于数据量较大,查询时间比较长,结果还没返回的时候,用户不耐烦了进行重复点击,同样会造成多次触发问题。
在遇到这类问题时,当然后台接口可以进行加锁,来避免接口重复调用。不过近期在做前端,因此尝试从前端进行限制。
遇到此类问题,基本就是设定一个属性,开始调取接口时调整属性的值,模拟加锁效果。在接口延时返回结果后,再调回该属性值,达到解锁效果。不过最近需要的效果则是设定一个最小时限,即如果数据返回的时间超过了这个最小时限的话,就在数据返回结果后解锁,可以继续进行操作;如果数据量较小,返回比较快,没有达到最小时限时,就暂时不解锁,等时限到了之后才允许继续操作。
这里就根据时间和数据设定了一个双重锁,根据vue里的监听来联动判断,对总锁结果进行调整。
二、代码如下
实际上就是两个锁并行,时间锁走定时任务,数据锁走接口,一个锁完成后在监听里判断另一个锁的状态,来进行后续的操作。
__EOF__

本文作者:我命倾尘
本文链接:https://www.cnblogs.com/guobin-/p/16313262.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/guobin-/p/16313262.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?