如何停止定时器,如果功能执行正确
How to stop timer if function executed properly?
Section()
负责查看数据库并获得任何HTML代码,如果某些内容匹配。如果没有匹配,则没有回调(但我可以回调一个空的对象)。
然后调用addIt()
并显示HTML。没问题。
我的问题是,当有一些HTML从数据库中获取,停止定时器?因为现在它每10秒添加一次HTML。
function addIt(data) { $(data).insertAfter('#hello'); }
setInterval(function Section(){
$.getJSON("domain"+ number, addIt);
}, 10000);
可以这样写:
var x = setInterval(function Section(){
$.getJSON("domain"+ number, addIt);
}, 10000);
if( // something ) {
clearInterval(x);
}
我永远不会在一段时间内调用AJAX。相反,使用回调函数再次调用
function Section(){
$.getJSON("domain"+number,addIt);
}
function addIt(data) {
if (data) $(data).insertAfter('#hello');
else setTimeout(Section,10000); // call again in 10 seconds unless data was returned
}
Section(); // first call
如果调用在不返回数据时导致ERROR,请尝试:
$.getJSON("domain"+number, function(data) {
if (data) $(data).insertAfter('#hello');
})
.fail(function() {
setTimeout(Section,10000);
});
var timerId;
function addIt(data) {
$(data).insertAfter('#hello');
}
function section() {
$.getJSON().done(function(data) {
addIt(data);
if (timerId) {
clearInterval(timerId);
}
});
}
timerId = setInterval(section, 10000);
相关文章:
- 我想用Javascript网站在开放的Chrome浏览器上执行功能
- 如果在编辑中下拉值发生变化,如何执行功能
- 在周一上午8点至晚上7点之间执行功能
- 如何在ng中继器运行中执行功能
- 具有onclick功能的自定义复选框在实际切换复选框之前执行功能
- 基于条件执行功能
- 如何让chrome扩展在页面加载的后台执行功能
- 并行执行功能并等待其完成
- 必须点击两次按钮才能执行功能
- 在可过滤的剑道移动搜索框中键入时执行功能
- 故意暂停执行功能
- 当用户导航到特定部分时执行功能(地理位置)
- 必须单击按钮两次才能执行功能 - jQuery
- 在使用 react 和 material-ui 动态创建菜单项时,为什么 onTouchStart 会自动执行功能
- 如何在jQuery中单击两个按钮之一时执行功能
- 鼠标事件触发但未执行功能
- 如何在jquery中空闲10秒后执行功能
- 在Facebook分享后执行功能
- 如果文本框有焦点,按下特定键时执行功能
- 选择随机选项并执行功能