将计时器ID放入其功能中
Placing timer ID into its function
我想把setInterval()返回的计时器ID放入它的函数:
delay_timeout = setInterval(function () {
test_delay(data['time'], delay_timeout);
}, 1000);
有可能吗?在我看来,delay_timeout此时没有值。。。
我不想全局保存delay_timeout,以便稍后使用定时器的功能来停止它。几个定时器可能同时工作。
更新:
代码不是全局的,它位于这里:
socket.on('test_delay', function (data) {
...
});
重点是不要使delay_timeout全局化,并且能够通过其回调函数中的某些条件来终止计时器。
如果你把setTimeout
调用放在它自己的函数中,你的代码就可以正常工作,如下所示:
function setTimer(){
var timeId = setTimeout(function(){ console.log(timeId); }, 1);
}
for(var i = 0; i < 10; i ++){
setTimer();
}
这是一把小提琴
delay_timeout变量可用于回调,因为它位于同一机柜中。
只要你不在同一个上下文中,并且在setTimeout
触发回调之前重新运行它,你就可以了。所以这不起作用:
var timeId;
for(var i = 0; i < 10; i ++){
timeId = setTimeout(function(){ console.log(timeId); }, 1);
}
(见小提琴的后半部分…)
相关文章:
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 设置倒计时计时器,IE出现问题
- MobileFirst:在客户端运行计时器作业-最佳选项
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 倒计时计时器应该持续两个php页面
- 在Jquery倒计时计时器上设置每个数字的动画
- 我如何才能确保计时器设置为每天4点半,所以我不会;不用在Javascript中提及某个日期
- 如何禁用窗口.当计时器超时时,打开卸载警报
- 计时器在使用 jQuery 一分钟后没有触发,或者每 1 分钟后给出一些其他解决方案来触发功能
- 使用角度间隔计时器功能
- 如何调用计时器中的启动和停止功能
- 倒计时计时器功能和带有html标签的php
- JavaScript 计时器禁用功能
- 使用jquery和downCount的带重置功能的倒计时计时器
- 是否可以更新功能中的间隔计时器
- 如何设置CSS动画计时功能的计时器
- 如何在执行功能之前创建倒计时计时器
- 将计时器ID放入其功能中
- 如何使用ng-repeat添加包含计时器功能的项目
- 有人能解释一下这个jquery倒数计时器的第一个功能吗?