博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
A Recursive setTimeout Pattern
阅读量:5791 次
发布时间:2019-06-18

本文共 1379 字,大约阅读时间需要 4 分钟。

var poller = {    // number of failed requests   failed: 0,    // starting interval - 5 seconds   interval: 5000,    // kicks off the setTimeout   init: function(){       setTimeout(           $.proxy(this.getData, this), // ensures 'this' is the poller obj inside getData, not the window object           this.interval       );   },    // get AJAX data + respond to it   getData: function(){       var self = this;        $.ajax({           url: 'foo.htm',           success: function( response ){                // what you consider valid is totally up to you               if( response === "failure" ){                   self.errorHandler();               } else {                   // recurse on success                   self.init();               }           },            // 'this' inside the handler won't be this poller object           // unless we proxy it.  you could also set the 'context'           // property of $.ajax.           error: $.proxy(self.errorHandler, self)       });   },    // handle errors   errorHandler: function(){       if( ++this.failed < 10 ){            // give the server some breathing room by           // increasing the interval          this.interval += 1000;           // recurse          this.init();       }   }}; // kick this thing offpoller.init();

more detials:

转载于:https://www.cnblogs.com/joe-yang/archive/2012/08/01/2619097.html

你可能感兴趣的文章
Python 学习笔记 - 面向对象(特殊成员)
查看>>
Kubernetes 1.11 手动安装并启用ipvs
查看>>
Puppet 配置管理工具安装
查看>>
Bug多,也别乱来,别被Bug主导了开发
查看>>
sed 替换基础使用
查看>>
高性能的MySQL(5)创建高性能的索引一B-Tree索引
查看>>
oracle备份与恢复--rman
查看>>
图片变形的抗锯齿处理方法
查看>>
Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
查看>>
phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
查看>>
python udp编程实例
查看>>
TortoiseSVN中图标的含义
查看>>
Tasks and Back stack 详解
查看>>
关于EXPORT_SYMBOL的作用浅析
查看>>
成功的背后!(给所有IT人)
查看>>
在SpringMVC利用MockMvc进行单元测试
查看>>
Nagios监控生产环境redis群集服务战
查看>>
Angular - -ngKeydown/ngKeypress/ngKeyup 键盘事件和鼠标事件
查看>>
Android BlueDroid(一):BlueDroid概述
查看>>
Java利用httpasyncclient进行异步HTTP请求
查看>>