TypeScript - setInterval로 설정된 유형
나중에 setInterval이 할당되는 변수에 유형을 할당하려면 다음과 같이 하십시오.
this.autoSaveInterval = setInterval(function(){
if(this.car.id){
this.save();
}
else{
this.create();
}
}.bind(this), 50000);
여기에 할당해야 할 유형은 무엇입니까?인터벌 자동 저장 가능?
파티에 늦었지만, 가장 좋은 유형(특히 유형이 불투명하기 때문에, 우리는 그것을 전달할 수 있다는 것에만 신경을 씁니다.clearInterval()
나중에)는 자동으로 추론되는 것일 수 있습니다. 즉, 다음과 같은 것입니다.
ReturnType<typeof setInterval>
유형은 사용할 기능에 따라 2개의 오버로드가 있으며, 반환 유형은 빨간색 경계 상자에 표시됩니다.
번호를 반환하는 번호를 사용하려면 다음을 사용하십시오.
window.setInterval(...)
유형은 숫자입니다.
private autoSaveInterval: number = setInterval(() => {
console.log('123');
}, 5000);
NodeJS인 것 같습니다.시간 초과와 미망인.setInterval은 number:
const nodeInterval: NodeJS.Timeout = setInterval(() => {
// do something
}, 1000);
const windowInterval: number = window.setInterval(() => {
// do something
}, 1000);
다른 답변에서도 언급되듯이, 그 유형은setInterval
둘 중 하나입니다:number
아니면:NodeJS.Timer
.
사용하실 분이 계시다면 답변 범위를 조금 더 확장하고 싶습니다.setInterva
반응 및 유형 스크립트 포함
const Clock: React.FC = () => {
const secondsRef = useRef<NodeJS.Timer>();
useEffect(() => {
secondsRef.current = setInterval(() => { // type is taken correctly and no errors
// do your stuff...
}, 1000);
}, []);
return (
<div>
{/* your jsx... */}
</div>
);
};
export default Clock;
누군가 내 대답이 도움이 되길...해피코딩 :)
비록 나는 앱을 실행할 수 있었습니다.
id: number;
this.id = setInterval(...)
테스트를 통해 Type 'Timeout'이 Type 'number'에 할당될 수 없음을 알려줄 것입니다. 그래서 저는 https://stackoverflow.com/a/59681620/18975994 접근 방식으로 진행했고, 그것은 저에게 효과가 있었습니다.
이와 같은 경우에는 불투명한 핸들로 취급되므로 윈도우 대 노드 환경을 만족시키기 위해서만 유형과 씨름할 가치가 없습니다.이것만 사용하고 끝내면 됩니다.
let timerHandle: any = null;
function start() {
timerHandle = setInterval(...);
}
export function stop() {
if (timerHandle) clearInterval(timerHandle);
}
이 유형은 setInterval:NodeJS.Timer
연산자 유형을 사용하여 다음과 같은 변수의 데이터 유형을 찾습니다.
type of는 모든 유형의 단일 피연산자 앞에 배치되는 단항 연산자입니다.이 값은 피연산자 유형을 지정하는 문자열입니다.
var variable1 = "Hello";
var autoSaveInterval;
this.autoSaveInterval = setInterval(function(){
if(this.car.id){
this.save();
}
else{
this.create();
}
}.bind(this), 50000);
console.log("1st: " + typeof(variable1))
console.log("2nd: " + typeof(autoSaveInterval ))
언급URL : https://stackoverflow.com/questions/51376589/typescript-what-type-is-setinterval
'programing' 카테고리의 다른 글
NetBeans의 JSTestDriver가 어설션 실패 후 테스트를 중지함 (0) | 2023.10.28 |
---|---|
Mysql SELECT CASE when something and return 필드 (0) | 2023.10.28 |
슬래시를 닫기 전의 공간? (0) | 2023.10.28 |
특정 속성을 가진 모든 요소를 선택하는 방법?TinyXPath로 (0) | 2023.10.28 |
OpenSSL API를 사용하여 인증서 체인을 프로그래밍 방식으로 확인 (0) | 2023.10.28 |