码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 前端在请求数据时使用节流来防止多个重复请求


    先了解防抖和节流的区别:
    两者的区别这位博主讲得非常仔细

    在写项目的过程中,经常会遇到这样一种场景:
    页面加载时,遇到大量的数据需要显示,常常使用上拉加载更多数据,从而实现数据的批量显示。每次上拉的时候,浏览器应该发送一次请求,获取最新的数据。
    但是会出现这样一种情况:不停地上拉加载,上一个请求还没有成功返回数据,下一个请求又发出去了,导致请求越来越多,页面却还没显示数据,容易造成浏览器卡死。

    解决方法:使用节流处理。在发送请求之前,先判断当前是否有其它请求在发送,如果有,则不发起下一个请求,等到上个请求已经成功返回数据了,才能发起下一个请求。
    定义一个变量doneLoading,称之为节流阀,当它为true时表示请求已经发送完成,为false时表示请求正在发送。

    具体实现:

    list: [],
    doneLoading: true, // 节流阀
    // ...
    
    getList: async function () {
        // 如果当前请求未结束,则等待请求完成
        if (!this.doneLoading) {
          return
        }
        
        // 请求正在发送
        this.doneLoading = false
        const res = await request('/list', {page: this.page})
        if(res.code !== 200) {
          alert('数据加载失败!')
          return 
        }
        
        this.list = this.list.concat(res.result)
        // 成功返回数据,请求完成
        this.doneLoading = true
      },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
  • 相关阅读:
    PyTorch概述(八)---ADAM
    详细指南:使用C语言控制TI ADS1262和ADS1263模数转换器
    Python 数据分析与挖掘(一)
    Android动态添加设置放大缩小动画
    概念解析 | 自动驾驶中的Corner Case剖析: 分类、处理方法和挑战
    Revit中新建Revit填充图案及“问题视图”操作
    自媒体创作审核不通过怎么办?教你一个小技巧,提高效率
    前端开发面试题之http和https详解
    跨端开发方案之桌面应用小程序
    【C语言】实用调试技巧
  • 原文地址:https://blog.csdn.net/m0_37922443/article/details/126349945
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号