我如何在页面加载的第一件事就是调用setTimeout,然后等待五秒钟
How can I make this setTimeout call first thing on page load THEN wait five seconds?
我有这个方法:
$(document).ready(function(){
var rootPath = getRootPartofPathName();
(function poll() {
setTimeout(function () {
$.ajax({
type: 'GET',
url: rootPath + '/data/notifications?method=getNotificationSizes',
success: function (data) {
handleNotifications(data);
},
complete: poll
});
}, 5000);
})();
});
但它只在页面加载后5秒调用。如何让它在第一页加载时开始轮询?
在回调中创建timeout
,也不需要自执行函数,然后在页面加载时简单地调用poll()
:
function poll() {
$.ajax({
type: 'GET',
url: rootPath + '/data/notifications?method=getNotificationSizes',
success: function (data) {
handleNotifications(data);
setTimeout(poll, 5000);
},
complete: function() {
}
});
}
poll();
相关文章:
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 在setTimeout中调用相同的函数
- 为什么setTimeout适用于无休止的递归调用
- settimeout调用的函数未结束
- 调用setTimeout内部的函数时发生引用错误
- setTimeout调用自身的任何问题
- 如何将参数传递给使用 setTimeout 调用的函数
- 使用 setTimeout 调用一次 forEach 的回调函数即可完成
- 从setTimeout调用window.event时失败
- 函数(从setTimeout调用)未返回值
- 与连续的setTimeout调用相比,setInterval更有可能按时发生
- setTimeout调用的顺序
- 在setTimeout调用期间超过的最大调用堆栈大小
- 使用setTimeout调用函数,并提供可选的停止方式
- 无用的setTimeout调用(参数周围缺少引号?)
- 为什么这个setTimeout()调用在控制台中工作,而不是作为一个油脂猴子脚本
- 为什么通过setTimeout调用原型函数时会丢失实例信息?
- 如何从匿名函数中对同一函数进行 setTimeout 调用
- 错误:无用的setTimeout调用(参数周围缺少引号?)
- 如何在 setTimeout 调用中解决超出范围的 Var