2013-03-16 74 views
-1

我遇到了我的ColdFusion代码问题。如何每两秒循环

我想写一些代码,只循环每2秒。我尝试使用cfloop并在日期或时间范围内循环。但是这并不能解决我的问题。任何人都可以帮我解决这个问题吗?

+0

不知道ColdFusion,JavaScript从根本上不支持在循环内延迟。您需要安排一个回调函数来定期调用。 – Potatoswatter 2013-03-16 03:30:06

+3

JavaScript有[** window.setInterval **](https://developer.mozilla.org/en/docs/DOM/window.setInterval)方法,该方法调用一个函数或重复执行代码片段,并具有固定时间延迟每次调用该函数之间。使用它与此类似:'setInterval(function(){..},2000);' – Nope 2013-03-16 03:32:36

+0

正如@Potatoswatter所说的,你可能想要有一个内置的定时器或者一个roll-您自己的计时器功能(请参阅:http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=functions_e-g_64.html),用于保持时间。东西检查定时器,然后每2秒调用一次函数。该函数将完成您最初提到的循环中的所有内容。你可以把这个结构放在一个连续运行的while循环中,而一些标志是真的。 – kermit 2013-03-16 03:36:56

回答

0

您可能正在寻找sleep功能。您可以把它称为CFML:

<!--- 2 second delay ---> 
    <cfset sleep(2000) /> 

或CFSCRIPT(ECMAScript中/ JavaScript的符号):

sleep(2000); 

应该有大量的睡眠实例可用。

2

你也可以使用循环来解决这个问题。所有你需要做的只是用适当的步骤写一个索引循环,例如你可以参考这段代码。

<cfset startTime = CreateTimeSpan(0,0,5,10)> 
    <cfset endTime = CreateTimeSpan(0,0,5,20)> 
    <cfloop from="#startTime#" to="#endTime#" index="i" step="#CreateTimeSpan(0,0,0,2)#"> 
     Hello World! <br /> 
    </cfloop>