Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.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
Javascript Nativescript计时器模块和JS setInterval之间的差异_Javascript_Android_Angular_Nativescript - Fatal编程技术网

Javascript Nativescript计时器模块和JS setInterval之间的差异

Javascript Nativescript计时器模块和JS setInterval之间的差异,javascript,android,angular,nativescript,Javascript,Android,Angular,Nativescript,我正在做一个使用setInterval函数的个人项目。我注意到Nativescript有一个带有setInterval的“timer”模块,并在我的项目中实现了它 每次我想在我的应用程序中使用setInterval()时,是否值得导入Nativescript计时器模块,或者我可以只使用Javascript setInterval()吗 代码示例(带typescript的angular 2): 资料来源: 另一方面,上述方法是否是实现定时器模块的正确方法?到目前为止,我唯一的经验是使用颜色模块的A

我正在做一个使用setInterval函数的个人项目。我注意到Nativescript有一个带有setInterval的“timer”模块,并在我的项目中实现了它

每次我想在我的应用程序中使用setInterval()时,是否值得导入Nativescript计时器模块,或者我可以只使用Javascript setInterval()吗

代码示例(带typescript的angular 2):

资料来源:


另一方面,上述方法是否是实现定时器模块的正确方法?到目前为止,我唯一的经验是使用颜色模块的Angular 2-Nativescript教程,但计时器模块略有不同。

计时器模块抽象了本机平台计时系统。如果查看,您将注意到使用的本机类/方法。至于命名
setInterval
clearTimeout
,等等,这正是NativeScript团队选择调用这些方法的原因。我假设javascript开发人员能够简单地记住函数的功能。我会默认使用
定时器
模块,而不是NS应用程序中的JS超时/间隔,但这是我的观点


至于导入,您的TS代码看起来不错

定时器模块提取本机平台定时系统。如果查看,您将注意到使用的本机类/方法。至于命名
setInterval
clearTimeout
,等等,这正是NativeScript团队选择调用这些方法的原因。我假设javascript开发人员能够简单地记住函数的功能。我会默认使用
定时器
模块,而不是NS应用程序中的JS超时/间隔,但这是我的观点


至于导入,您的TS代码看起来不错

太好了,谢谢你的回复和链接。为了更好地理解源代码,我将开始更频繁地查看源代码。值得注意的是,没有单独的“JS超时/间隔”。它们遵从计时器模块:(另外setTimeout/setInterval实际上不是ecmaScript的一部分,因此不包含在V8中,请参阅:)太好了,感谢您的回复和链接。为了更好地理解源代码,我将开始更频繁地查看源代码。值得注意的是,没有单独的“JS超时/间隔”。它们遵从计时器模块:(setTimeout/setInterval实际上不是ecmaScript的一部分,因此不包括在V8中,请参阅:)
import { setInterval, clearInterval } from 'timer'

/* skip some code */

private setInterval = setInterval;
private clearInterval = clearInterval;

/* skip some code */

time() {
  this.interval = this.setInterval(() => {
   this.duration = this.clock.formatTime(time)
  }, 1)
}