때때로 프로그래머는 프로그램의 실행이 짧은 시간 동안 중단되어야 하는 상황에 처한다. 이를 위해 다양한 프로그래밍 언어에는 다양한 가능성이 있습니다. 이 목적을 위해 약속을 사용할 수있는 옵션이 있습니다.
- 절전 기능 구현
- 지연된 함수 실행
절전 기능 구현
자바스크립트에서 몇 초간 일시 중지하려면 작은 보조 기능을 정의하면 됩니다. 절전 기능은 상태가 원하는 시간 후 밀리초 단위로 해결됨으로 설정된 약속 개체를 반환합니다.function Sleep(milliseconds) {
return new Promise(resolve => setTimeout(resolve, milliseconds));
}
이 기능을 지금 사용하려면 비동기 키워드로 함수를 표시해야 합니다. 비동기가 없으면 대기 명령을 사용할 수 없습니다. 예시적인 애플리케이션은 다음과 같은 기능을 나타낸다:async function test() {
console.log("Vor der sleep-Funktion");
await Sleep(3000); // Pausiert die Funktion für 3 Sekunden
console.log("Nach der Sleep Funktion");
}
이 함수는 절전 함수를 호출합니다. 기다리기를 사용하면 지정된 시간 동안 함수 실행이 중지됩니다. 대기하지 않으면 잠자기 상태로 반환되는 약속 개체의 확인을 기다리지 않으므로 함수가 계속 실행됩니다.
지연이 있는 함수 실행
특정 대기 시간 후에 함수를 실행하려면 설정 타임아웃 기능이 있습니다. 설정 타임 아웃을 사용하면 실행할 소위 콜백 함수를 전달합니다. 이 기능은 지정된 시간 후에 수행됩니다. 그래서 자신에게 호출 할 함수를 정의:function callback() {
console.log("Callback Funktion wird aufgerufen");
}
이제 설정 타임아웃을 사용하여 방금 만든 함수를 지정된 지연으로 호출할 수 있습니다. 그러나 다음 코드는 대기 시간 없이 실행됩니다:setTimeout(callback, 3000); //Ruft die Callback-Funktion nach 3 Sekunden auf
console.log("Test"); //Wird sofort, ohne Wartezeit ausgeführt
또는 함수 식을 인수로 전달하여 타임아웃을 설정할 수도 있습니다. 그래서 당신은 또한 다음과 같이 설정 시간을 호출 할 수 있습니다:setTimeout(function() {
console.log("Callback Funktion wird aufgerufen");
}, 3000);
여기서 장점은 새로운 함수를 정의 할 필요가 없으며 지연 후 실행되는 코드 블록을 즉시 볼 수 있다는 것입니다.