草庐IT

SetInterval

全部标签

使用 setInterval 调用的 Javascript 绑定(bind)

我如何使用“调用”和“setInterval”来获取对象文字来调用它自己的方法之一?这是一个例子。这行得通,我明白它为什么行得通。定时器对象每秒调用一次自己的tick方法vartimer={start:function(){varself=this;setInterval(function(){self.tick();},1000);},tick:function(){console.log("tick!");}};timer.start();我试图通过使用“调用”来简化这段代码。下一个例子是我想到的最好的例子。但它不起作用:tick方法仅被调用一次,然后出现类型错误。vartimer

javascript - 为什么在有 setTimeout 和 setInterval 的情况下,javascript 中没有 sleep 功能?

为什么javascript中没有这样的函数为其继续设置超时、保存必要的状态(作用域对象和执行点)、终止脚本并将控制权交还给浏览器?在超时到期后,浏览器将加载回执行上下文并继续执行脚本,我们将拥有一个真正的非浏览器阻塞sleep功能,即使JS引擎是单线程的也可以工作。为什么在javascript中仍然没有这样的功能?为什么我们仍然必须将我们的代码切片为函数并将超时设置到下一步以实现sleep效果? 最佳答案 我认为您不希望浏览器中出现“sleep”。首先,您可能不清楚在您实际休眠时会发生什么以及浏览器应该如何表现。完整的脚本运行时是否

javascript - casper.js 中的 setInterval 和 this.wait

我需要在每次迭代之间做一个3次2秒的循环。我尝试了这3个选项:选项1varcasper=require('casper').create({verbose:false,logLevel:'debug'});casper.start("http://google.com");casper.on('remote.message',function(msg){this.echo('remotemessagecaught:'+msg);})casper.thenEvaluate(function(){varx=0;varintervalID=setInterval(function(){con

javascript - 重置 setInterval() 的定时器

vartimer;chat.client.addMessage=function(data){clearTimeout(timer);test2(data);};timer=setInterval(function(){console.log("working");test1();},5000);我试图在执行chat.client.addMessage时重新启动计时器。SetInterval每5000毫秒执行一次,直到chat.client.addMessage在执行该方法时执行setInterval函数停止执行。帮助将不胜感激:) 最佳答案

javascript - 清除所有 setIntervals

我像这样在each()函数中使用setIntervals$(".elements").each(function(){setInterval(function(){},1000);});显然,为每个元素创建了一个setIntervals。我的问题是:当我不再需要所有setIntervals时,如何清除它们?我已尝试将setInterval存储在一个变量中并调用window.clearInterval(int),但这只会清除最后一个setInterval,因为每个变量都被覆盖了。 最佳答案 当你设置一个间隔时,你会得到一个指向它的指针

javascript - setInterval 在 javascript 中遍历数组?

我有一个网站,他们想要一个新闻行情。目前,我有一个填充它的数组,每隔x秒,我希望新闻故事发生变化。functionstartNews(stories){}我知道您可以使用setInterval,但它必须通过一个新函数,并且您不能在同一函数中指定某些javascript在它执行时触发。你有什么建议?谢谢! 最佳答案 您应该使用setInterval()或重复调用setTimeout()。这就是你在未来某个时间用javascript做某事的方式。您可以使用这些计时器功能中的任何一个来执行的操作没有任何限制。您认为您做不到的具体是什么让您

javascript - 我如何 setInterval 调用类中的函数

我有一个类:functionrun(){this.interval;this.start=function(){this.interval=setInterval('this.draw()',1000);};this.draw=function(){//somecode};}varrun=newrun();run.start();但是我似乎无法在setInterval中引用/调用this.draw(),它说this.draw()不是一个函数,如果我删除了它说无用的setInterval调用的引号,我做错了什么? 最佳答案 bind(

javascript - 即使 previos 尚未完成其工作,是否会触发传递给 setInterval 的回调

是否会触发传递给setInterval函数的回调,即使前一个回调(由相同的setInterval触发)尚未完成其工作?如果是这样,我该怎么做才能解决此问题?我应该使用自己的bool标志(如inProcess)还是每次都调用setTimeout而不是setInterval? 最佳答案 我建议使用setTimeout。我有类似的问题,我必须每3秒轮询一次服务器以获取某些数据,直到我收到数据或达到阈值。我写过这样的东西:functiongetData(){$.post(url,data,function(res){if((res.erro

javascript - setInterval 返回定时器对象而不是 intervalId

我想通过使用它的intervalId来清除一个间隔,我打算将其存储在本地文件中。我的印象是分配setInterval会返回它的intervalId但我似乎得到的是[objectTimer]。varfs=require("fs");varid=setInterval(function(){console.log("tick");},1000);console.log(id);varstream=fs.createWriteStream("id");stream.once('open',function(fd){stream.write(id);});我正在使用Nodev4.9

javascript - Chrome 开发工具的性能分析结果中的监听器

我一直在使用Chrome开发工具分析React应用程序,我发现Listener数量呈线性增长。看看下面的截图。Listeners为橙色。我将其缩小为在p标签内呈现一个简单的倒计时值。剩余时间每1000毫秒使用setInterval函数生成一次,然后在p标记内进行格式化和渲染。我使用create-react-app创建了一个简单的React应用程序,并修改了App.js的App组件内的代码以每秒更新Date.now()的值,当我运行时分析器,我得到了相同的结果。classAppextendsComponent{state={text:'',};loop(){this.setState({