web中ajax请求后台的节流方式,减轻服务器压力
2018-09-21 08:28

场景

web前端中有一些需要与后台一起完成的用户体验,比如输入提示,下拉搜索等,监听键盘事件或者websocket流等不断的通过ajax向后台发送请求,获取详情的数据,而页面中的oninput,mousemove之类的事件是处罚很频繁的,有时候我们需要延长发请求的间隔来节省服务器资源,并且还不丢失用户体验度。这就需要一种解决方案。

解决方案

let arr=[];
//输入框
dom=document.getElementById("myinput");
dom.addEventListener("input",function(){
    arr.push(this.value);
});

function queryTip(){
    if(arr.length>0){
        let key=arr[arr.length-1];
        arr=[];
        $.post(".....",{key:key},function(res){
            //请求回来的处理。
            if(arr.length>0){
                queryTip();
            }else{
                setTimeout(queryTip,2000);
            }
        },"json");
     }else{
         setTimeout(queryTip,2000);
     }
}
queryTip();


原创文章,转载请注明来自:妹纸前端-www.webfront-js.com.
阅读(525)
辛苦了,打赏喝个咖啡
微信
支付宝
妹纸前端
妹纸前端工作室 | 文章不断更新中
京ICP备16005385号-1