2016-06-09 2 views
1

setInterval 함수를 사용하는 개인 프로젝트에서 작업하고 있습니다. Nativescript에는 setInterval이있는 'timer'모듈이 있고이를 내 프로젝트에 구현 한 것으로 나타났습니다.Nativescript 타이머 모듈과 JS의 차이점 setInterval

내 응용 프로그램에서 setInterval()을 사용하려고 할 때마다 Nativescript 타이머 모듈을 가져올 가치가 있습니까? 아니면 Javascript setinterval()을 대신 사용할 수 있습니까?

코드 예 (타이프와 각 2)

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) 
} 

소스 : http://docs.nativescript.org/angular/cookbook/timer 메모 측면

, 상기 방법은 타이머 모듈을 구현하기위한 적절한 방법이다? 나의 유일한 경험은 칼라 모듈을 가진 Angular 2 - Nativescript 튜토리얼이지만 타이머 모듈은 약간 다릅니다.

답변

4

타이머 모듈은 기본 플랫폼 타이밍 시스템을 추상화합니다. source here for the Android version을 보면 네이티브 클래스/메소드가 사용 된 것을 알 수 있습니다. setInterval, clearTimeout 등의 이름은 NativeScript 팀에서 해당 메소드를 호출 한 것입니다. 나는 자바 스크립트 개발자가 함수가 무엇을 기억하는지 간단하게 가정하고있다. timer 모듈은 NS 애플리케이션의 JS 타임 아웃/간격에 반대하지만, 그건 제 의견입니다.

가져 오기의 경우 TS 코드가 좋게 보입니다.

+0

답장과 링크에 감사드립니다. 더 나은 이해를 얻으려면 소스 코드를 더 자주 살펴 보겠습니다. –

+1

별도의 "JS 시간 초과/간격"이 없다는 점에 유의해야합니다. 그들은 타이머 모듈을 연기합니다. https://github.com/NativeScript/NativeScript/blob/master/tns-core-modules/globals/globals.ts#L85-L89 (또한 setTimeout/setInterval은 실제로 ecmaScript의 일부가 아닙니다. 따라서 V8 자체에는 포함되지 않습니다. http://stackoverflow.com/questions/13616102/how-is-settimeout-implemented-in-node-js) – Michael

관련 문제