使用setInterval对ajax请求做轮询
来源:互联网 发布:婚纱照排版台词 知乎 编辑:程序博客网 时间:2024/06/07 14:04
为什么setInterval 只执行了一次??
代码如下
<script language=javascript>
$(function () {
var test = {
deg: function (type) {
alert(type);
}
}
setInterval(test.deg(12), 1000);
});
</script>
解决办法:
setInterval(function () { test.deg(12)}, 1000);这样就可以了。
当然实现这种轮询的另一种思路是,使用递归,然后设置一个休眠时间。
当条件达到临界值时,取消
window.clearInterval(clock);
代码:
var url = 'rest/services/Tools/submitJob'; var clock=null;ajaxfunc(url, 'POST', restData, function (res) { //运行分析 console.log(res.jobId); var jobId = res.jobId; //var url = adminURL + "rest/services/Tools/jobs/" + jobId; //location.href = url; clock = window.setInterval(function () { result(jobId)}, 5000); }); var result = function(jobId) { var url = adminURL + "rest/services/Tools/jobs/" + jobId; $.ajax({ type: "POST", url: url, dataType: 'json', data: { f: 'json', token: token }, success: function (data) { var jobStatus = data.jobStatus; if(jobStatus =='esriJobSucceeded'){ var output = url + '/results/output'; var resultOutput; $.ajax({ type: "POST", url: output, dataType: 'json', data: { f: 'json', token: token }, success: function (data) { resultOutput = data.value.url; alert(resultOutput) window.clearInterval(clock); }, error:function(){ alert("error") window.clearInterval(clock); } }); } if(jobStatus =='esriJobFailed'){ alert("esriJobFailed") window.clearInterval(clock); } }, error: function () { alert("error") window.clearInterval(clock); } }); };
阅读全文
0 0
- 使用setInterval对ajax请求做轮询
- liferay 使用ajax请求
- jquery - ajax 请求使用
- 使用ajax异步请求
- setInterval定时执行ajax
- 过滤器对ajax请求的处理
- JSONP对另一个域进行Ajax请求
- AJAX请求 $.ajax方法的使用
- AJAX请求 $.ajax方法的使用
- 使用jQuery发送Ajax请求
- 使用FormData进行Ajax请求
- 使用jquery发送ajax请求
- ajax异步请求,请求与响应顺序对不上
- ajax对json的使用
- setInterval的使用
- setInterval 的使用
- setInterval() 方法使用
- setInterval()函数使用
- Lorg/apache/ws/commons/schema/XmlSchema;
- Dubbo-Admin管理平台和Zookeeper注册中心的搭建
- exe4j生成的exe反编译成java代码
- 挑战4道Java试题
- WebView 如何自定义自己的右键菜单?
- 使用setInterval对ajax请求做轮询
- 同步与异步、阻塞与非阻塞
- CSDN--字体颜色--markdown
- C
- ABAP报表事件说明
- Android Studio 如何打JAR包
- UGUI 圆角矩形控件实现
- hdu 6129 多校第7场10
- hrtimer