Questions tagged «settimeout»

setTimeout是全局JavaScript方法,用于在给定延迟后执行特定功能或一段代码。

12
Javascript,setTimeout循环?
因此,我正在开发一个音乐程序,该程序需要多个javascript元素才能彼此同步。我一直在使用setInterval,它起初确实很好用,但是随着时间的流逝,元素逐渐变得不同步,这对音乐程序来说是不好的。 我已经在线阅读了setTimeout更准确的信息,并且可以以某种方式设置setTimeout循环,但是我还没有找到一个通用的版本来说明这是如何实现的。有人可以告诉我一个使用setTimeout无限循环的基本示例。 谢谢。另外,如果有一种方法可以通过setInterval甚至其他函数来实现更多同步结果,请告诉我。 编辑: 基本上我有一些像这样的功能: //drums setInterval(function { //code for the drums playing goes here },8000); //chords setInterval(function { //code for the chords playing goes here },1000); //bass setInterval(function { //code for the bass playing goes here },500); 最初它工作得非常好,但是在大约一分钟的过程中,由于我读过setInterval时声音变得明显不同步,我读过setTimeout可以更加一致地准确。

13
在setTimeout()中找到剩余时间?
我正在编写一些Javascript,该Javascript与我不拥有的并且不能(合理地)更改的库代码交互。它创建Javascript超时,用于显示一系列限时问题中的下一个问题。这不是真正的代码,因为它被所有的希望所迷惑。库正在执行以下操作: .... // setup a timeout to go to the next question based on user-supplied time var t = questionTime * 1000 test.currentTimeout = setTimeout( showNextQuestion(questions[i+1]), t ); 我想在屏幕上放置一个进度条,questionTime * 1000通过查询由创建的计时器来填充进度条setTimeout。唯一的问题是,似乎没有办法做到这一点。getTimeout我有缺少的功能吗?我可以找到的有关Javascript超时的唯一信息仅与通过创建setTimeout( function, time)和通过删除有关clearTimeout( id )。 我正在寻找一个函数,该函数返回超时触发前的剩余时间或调用超时后经过的时间。我的进度条代码如下所示: var timeleft = getTimeout( test.currentTimeout ); // I don't know how to do this …

8
如何在jQuery .each()的每次迭代之间添加暂停?
我正在抓取jQuery对象数组,然后通过.each()修改数组中的每个单独的jquery。 在这种情况下,我更新了类名,以触发-webkit-transition-property以利用CSS过渡。 我希望在每个CSS转换开始之前先暂停一下。我正在使用以下内容,但是每次更新之间都没有延迟。相反,它们似乎都在一次更新。 function positionCards() { $cards = $('#gameboard .card'); $cards.each(function() { setTimeout( function(){ addPositioningClass($(this)); }, 500 ) }); } function addPositioningClasses($card){ $card .addClass('position') } 我希望setTimeout可以解决此问题,但似乎无法正常工作。有没有办法在每个对象的每个CLASS名称更新之前完成暂停?

6
我可以查看计时器是否仍在运行吗?
这里的一个简单问题似乎无法找到答案:setTimeout设置a之后,是否有任何方法可以查看它是否仍然设置好? if (!Timer) { Timer = setTimeout(DoThis,60000); } 据我所知,当您使用时clearTimeout,变量将保持其最后一个值。一个console.log我只是看着显示Timer为“12”,不管是否设置了超时或清零。我是否还必须使变量为空,或者使用其他变量作为布尔值,是的,我已经设置了此计时器?当然有一种方法可以检查超时是否仍在运行...对吗?我不需要知道还剩下多久,即使它仍在运行。

11
React Native中的setTimeout
我正在尝试为React Native内置的iOS应用加载启动画面。我试图通过类状态,然后通过setTimeout函数来完成此操作,如下所示: class CowtanApp extends Component { constructor(props){ super(props); this.state = { timePassed: false }; } render() { setTimeout(function(){this.setState({timePassed: true})}, 1000); if (!this.state.timePassed){ return <LoadingPage/>; }else{ return ( <NavigatorIOS style = {styles.container} initialRoute = {{ component: LoginPage, title: 'Sign In', }}/> ); } } } 加载页面会工作一秒钟,然后我猜想setTimeout尝试将状态更改为true时,我的程序崩溃了:“未定义不是对象(正在评估this.setState)”。我已经花了几个小时了,关于如何解决它的任何想法?

7
当计算机进入睡眠状态时,setTimeout会怎样?
在现代的Web浏览器中,假设我做了setTimeout10分钟(在12:00),然后5分钟使计算机进入睡眠状态,当系统再次唤醒时会发生什么?如果在10分钟结束前(12:09)或更晚之后(16:00)醒来,会怎样? 我问的原因是因为我想每10分钟请求一个新的身份验证令牌,而且我不确定浏览器是否会执行正确的操作,如果很长一段时间后唤醒它会立即请求一个新的令牌时间。 说明:我不希望使用Cookie-我正在尝试在此处构建Web服务;是的,服务器将拒绝旧的无效令牌。


6
Express.js响应超时
问题 我一直在寻找Express.js的请求/响应超时,但是一切似乎都与连接有关,而不是请求/响应本身。 如果请求花费很长时间,则应该超时。显然,这不应该发生,但即使是一个简单的错误,如具有不调用回调或不调用的路由处理程序res.send(),浏览器将永远等待答复。 空路由处理程序就是一个很好的例子。 app.get('/sessions/', function(req, res, callback){}); 固定 我之前 添加了以下内容,app.use(app,router);并且似乎添加了超时功能。有人对此有任何经验/意见吗? app.use(function(req, res, next){ res.setTimeout(120000, function(){ console.log('Request has timed out.'); res.send(408); }); next(); }); 请注意,我已将超时设置为2分钟。

4
遍历数组而不阻塞UI的最佳方法
我需要遍历一些大型数组并将它们存储在API调用的主干集合中。在不导致循环导致接口无响应的情况下执行此操作的最佳方法是什么? 由于返回的数据太大,ajax请求的返回也会阻塞。我认为我可以将其拆分并使用setTimeout使其在较小的块中异步运行,但是有一种更简单的方法来执行此操作。 我认为网络工作者会很好,但需要更改一些保存在UI线程上的数据结构。我尝试使用它来进行ajax调用,但是当它将数据返回到UI线程时,仍然有一段时间接口不响应。 提前致谢

4
为什么使用Promise.then设置CSS属性,然后实际上不在then块中发生?
请尝试运行以下代码段,然后单击相应的框。 const box = document.querySelector('.box') box.addEventListener('click', e => { if (!box.style.transform) { box.style.transform = 'translateX(100px)' new Promise(resolve => { setTimeout(() => { box.style.transition = 'none' box.style.transform = '' resolve('Transition complete') }, 2000) }).then(() => { box.style.transition = '' }) } }) .box { width: 100px; height: 100px; border-radius: 5px; background-color: …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.