Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于Metro风格应用程序的Javascript精确计时器_Javascript_Windows 8_Microsoft Metro - Fatal编程技术网

用于Metro风格应用程序的Javascript精确计时器

用于Metro风格应用程序的Javascript精确计时器,javascript,windows-8,microsoft-metro,Javascript,Windows 8,Microsoft Metro,我正在用HTML5、CSS3和Javascript开发一个metro风格的应用程序,其中我需要一个精确的计时器。setInterval()不适合这里,因为它不够精确 我尝试过使用Windows.System.Threading,但它似乎没有用javascript实现(我认为不会)。我也尝试过类似的方法: var date = new Date(); var init = date.getTime(); while(init + someTime < date.get

我正在用HTML5、CSS3和Javascript开发一个metro风格的应用程序,其中我需要一个精确的计时器。setInterval()不适合这里,因为它不够精确

我尝试过使用Windows.System.Threading,但它似乎没有用javascript实现(我认为不会)。我也尝试过类似的方法:

    var date = new Date();
    var init = date.getTime();
    while(init + someTime < date.getTime())
       doNothing();
    doSomething();
var-date=新日期();
var init=date.getTime();
while(init+time
但很明显,这并没有奏效

有人知道我怎么做吗


谢谢。

我不知道Javascript中有任何调用可以直接用于您执行此操作。但你可以在Win32调用QueryPerformanceCounter上写一个WinRT包装器,或者使用C或C++。这两个调用将帮助您创建一个。我不知道Javascript中有任何调用可以直接用于您这样做。但你可以在Win32调用QueryPerformanceCounter上写一个WinRT包装器,或者使用C或C++。这两个电话将帮助我创建一个新的应用程序。

我不确定我是否在关注你的问题,但似乎你只是想确保计时器在正确的时间启动,你的应用程序在前台或其他地方

在Windows 8 Metro应用程序中,除非你的应用程序在进入后台时停止执行代码,否则你的计时器将丢失。相反,您应该使用后台任务来触发定时事件

文件:


示例:

我不确定我是否在关注你的问题,但似乎你只是想确保计时器在正确的时间启动,你的应用程序在前台或其他地方,而不是获得更高的精度

在Windows 8 Metro应用程序中,除非你的应用程序在进入后台时停止执行代码,否则你的计时器将丢失。相反,您应该使用后台任务来触发定时事件

文件:


示例:

您似乎在等待一个特定的时刻(
init+someone
)。。设置超时(代码,延迟)
怎么样?为什么它不够精确?也许你需要一种不同的方法..不,我是说setInterval()。的确,我的代码更像setTimeout(),但这正是我一直在尝试的东西。对于一个必须在后台“计时”的实际计时器来说,它不够精确。你能澄清一下你想做什么吗?或者更具体地说,为什么
setInterval
不精确?我想做一个计时器。就像pomodoro计时器一样,设置一秒的间隔来刷新计时器。当您在后台运行应用程序时,计时器不会测量实际经过的时间您似乎在等待特定的时刻(
init+someone
)。。设置超时(代码,延迟)怎么样?为什么它不够精确?也许你需要一种不同的方法..不,我是说setInterval()。的确,我的代码更像setTimeout(),但这正是我一直在尝试的东西。对于一个必须在后台“计时”的实际计时器来说,它不够精确。你能澄清一下你想做什么吗?或者更具体地说,为什么
setInterval
不精确?我想做一个计时器。就像pomodoro计时器一样,设置一秒的间隔来刷新计时器。在后台运行应用程序时,计时器不会测量实际经过的时间