JavaScript for循环中要写一个定时器来获取一个状态,然后通过状态来判断是否执行下一次循环

qq_38079709 2017-11-23 05:02:07
JavaScript for循环中要写一个定时器来获取一个状态,然后通过状态来判断是否执行下一次循环

for(var i=0;i<10;){
setInterval(function(){
var = a
})
i++
}

我怎么才能拿到这个a 后再来执行下一次循环,
因为for循环执行完毕后,才执行定时器,所以我拿不到这个值来判断。很苦恼

怎么中途停住循环。。
...全文
618 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
前端-珊珊 2017-11-24
  • 打赏
  • 举报
回复
额,个人觉得一直新建定时器不清理是不好的,会造成内存泄漏的。不知道你的功能是需要什么,但定时器放for循环里面貌似不太好呢。可以在外面写定时器,然后那个a变量变成全局变量。只要那个a的值一变,for循环的条件a生效的话就执行下面的代码。你看看这个思路行不行
天际的海浪 2017-11-23
  • 打赏
  • 举报
回复
定时器只是定时开启一个新的线程,不会暂停for循环。 所以不能用for循环,要用函数递归。

(function f(i) {
	var a;
	if (++i<10)
		setTimeout(function(){f(i)}, 500);
})(0);
qq_38079709 2017-11-23
  • 打赏
  • 举报
回复
怎么先执行定时器啊

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧