背景

用户在输入框输入内容的同时进行搜索,针对搜索实时搜索结果进行展示

问题

如果不做处理,只监听输入框的input事件或者键盘按下弹起事件,实时对文本内容进行搜索,往往因为网络波动问题可能会造成结果与搜索内容显示不一致的问题,而且由于发起的请求过于频繁,无形中给浏览器和服务器均造成一定压力

优化思路

减少发起请求次数、取消无效请求

实现

var request={startRequest:null,requesting:null,//请求数据的函数requestDataFromApi:function (parameters) {let _=this;if(_.startRequest){clearTimeout(_.startRequest);}//通过timeout函数,减少发起请求次数this.startRequest=setTimeout(()=>{if(_.requesting){//通过abort函数,取消已发起的无用请求_.requesting.abort();}_.requesting=$.ajax({url:"接口url",type:"get",data:{},success:function (res) {//结果处理console.log(res);}});},200);}}

输入框实时搜索优化,减少请求次数、取消无用请求相关推荐

  1. Flutter 输入框实时搜索性能优化

    在App开发过程中,搜索功能是必不可少的.一般对于搜索功能,要么是输入一段文字后自己手动点击搜索按钮进行搜索:要么是实时的搜索.如果输入框中每一个字符的改变都要去触发网络请求的话,会浪费用户的流量,增 ...

  2. input输入框实时搜索匹配

    实时搜索功能 最终效果如下:当是英文输入或数字时,每次输入都会触发,但当是中文输入法时,只有在选中文字后才会触发,类似百度搜索 (以react为例) <input value={searchVa ...

  3. 关于 axios 取消重复请求的分析

    前言 关于取消重复请求,最重要的是这么做的意义,而不在于代码的实现 其实,我觉得,绝大部分能够想到的应用场景,都可以通过防抖.节流方式实现,比如实时搜索,比如重复订单提交.比如上拉获取最新数据等 我们 ...

  4. vue使用防抖节流(提交表单、实时搜索)

    1.封装防抖节流方法 deTh.js /*** 闭包函数* * 防抖:对于短时间内连续触发的事件(滚动事件.表单重复提交.页面resize事件,常见于需要做页面适配的时候),让某个时间期限内,事件处理 ...

  5. 测试无法测试的几乎苹果api实时搜索示例

    First of all let's make it clear about what a live search is. In a short definition, we could say it ...

  6. ASIHTTPRequest取消异步请求

    取消异步请求 首先,同步请求是不能取消的. 其次,不管是队列请求,还是简单的异步请求,全部调用[ request cancel ]来取消请求. 取消的请求默认都会按请求失败处理,并调用请求失败dele ...

  7. php多次请求只执行最后一次,取消重复请求,只让最后一次请求通过

    axios 请求拦截 取消重复请求(多次重复异步,结束pending状态) 前端开发中,会涉及很多异步事件处理,页面展示的处理关系最密切的就是loading图层,但是loading交互在一些时候会不太 ...

  8. axios请求失败、请求超时重新发送请求

    一. axios重新发送请求基础版(所有的请求错误,不论是请求超时还是接口请求出错都会进行重试) 以下是一个完整的文件,看懂了的话axios重试请求也就基本会了,不会的话直接复制到项目里,也可以直接调 ...

  9. Web项目性能优化之减少HTTP请求次数优化

    作为项目经理的我,在近两个月内,时常被客户抱怨,我们的Web程序性能太差,经常宕机,即使服务器的配置再好,在业务请求量大的情况下也比较容易出现系统繁忙,线程堵塞,最后Web容器的HTTP线程池被慢慢耗 ...

最新文章

  1. java7 javascript引擎_Java7中脚本引擎的一般用法,共三种方法获得JavaScript引擎:名称、文件扩展名、MIME类型 | 学步园...
  2. 测试第十七届智能车竞赛信标灯-初步测试
  3. 基于python物流管理系统毕业设计-Python程序设计实验报告八:文件
  4. C#之windows桌面软件第三课:完整的串口调试助手
  5. 这样也可以,insert,,
  6. 大家都在说的分布式系统到底是什么
  7. Unity3D-协同程序
  8. 千万不要被这些手机充电的谣言给误导了!现在了解还来得及
  9. Web项目(四)————异步队列的实现
  10. 《HTML CSS JavaScript 网页制作从入门到精通 第3版》—— 2.8 其他标记
  11. 使用标准测试函数测试全套 MATLAB 优化算法
  12. 《你的灯亮着吗》思维导图个人梳理
  13. 2018款联想Y7000 黑苹果外接显示器方案
  14. 手把手教做无人驾驶算法(二十八)--Tube MPC与MPC区别
  15. word里面的ctrl+z快捷键无效|ctrl+z 无效 最新解决方法
  16. 如何在敏捷中实施变更管理
  17. 王安计算机科学思想,【OHI访谈手记】互联网口述历史访谈计算机先驱John E. Savage...
  18. 【持续更新】2006-2023历代AMD 服务器Instinct桌面显卡列表,Instinct显卡发布日期
  19. 10个建模师,9个吃不饱,游戏建模师职业现状
  20. Docker容器时间不正确 差八个时区

热门文章

  1. js监听浏览器后退事件
  2. GO分析-植物部分-水稻
  3. 基于SSM+Layui的图书管理系统教程(1)---准备工作
  4. mysql日期格式化 yyyymmdd_mysql中时间日期格式化
  5. ae中心点重置工具_AE中心点锚点移动对齐脚本 Move Anchor Point V3.0
  6. htmlcss 机器猫的实现
  7. Vue实现自定义Message
  8. 【学习分享】 记录开源小白的第一次 PR
  9. mysql 使用sql文件恢复数据库
  10. css positions 属性 absolute