푸터 콘텐츠로 바로가기
노드 도움말

JavaScript 5초 대기 (개발자 관점에서 작동 방식)

JavaScript 에서는 5초와 같이 특정 시간 동안 대기하는 것이 일반적인 요구 사항입니다. 동작을 지연시키거나 로딩 상태를 시뮬레이션하려는 경우, 동기 코드에서 JavaScript 로 지연을 구현하는 방법을 이해하는 것은 필수적입니다. 이 글에서는 JavaScript 에서 5초 동안 대기하는 다양한 방법을 살펴보고, 각 방법에 대한 예제를 통해 JavaScript 실행을 일시 중지하는 방법을 알아보겠습니다. 또한, 비동기 함수와 타임아웃 설정 함수를 사용하여 Node.js 용 IronPDF 이용해 PDF 파일을 생성할 것입니다.

1. setTimeout() 사용

setTimeout() 함수는 지정된 시간(밀리초) 후에 지정된 함수 또는 코드 조각을 실행하는 JavaScript 내장 함수입니다.

console.log("Start");

// Schedules a function to be executed after 5000 milliseconds (5 seconds)
setTimeout(() => {
    console.log("Waited for 5 seconds");
}, 5000);

console.log("End");
console.log("Start");

// Schedules a function to be executed after 5000 milliseconds (5 seconds)
setTimeout(() => {
    console.log("Waited for 5 seconds");
}, 5000);

console.log("End");
JAVASCRIPT

이 예제에서 setTimeout() 함수 내부의 코드는 5000밀리초(또는 5초)의 지연 후에 실행됩니다.

JavaScript 5초 대기(개발자를 위한 작동 방식): 그림 1 - JavaScript setTimeout() 함수를 사용하여 5000밀리초(5초) 동안 대기한 콘솔 출력.

2. Promise와 async/await 사용하기

JavaScript 에서는 Promise를 async/await 와 함께 사용하여 지연을 만들 수 있는데, 이를 비동기 코드라고도 합니다.

async function delay() {
    console.log("Start");
    // Creates a promise that resolves after 5000 milliseconds (5 seconds)
    await new Promise(resolve => setTimeout(resolve, 5000));
    console.log("Waited for 5 seconds");
    console.log("End");
}

// Call the async function
delay();
async function delay() {
    console.log("Start");
    // Creates a promise that resolves after 5000 milliseconds (5 seconds)
    await new Promise(resolve => setTimeout(resolve, 5000));
    console.log("Waited for 5 seconds");
    console.log("End");
}

// Call the async function
delay();
JAVASCRIPT

이 예제에서 delay() 함수는 async/await를 사용하여 Promise를 통해 5초 동안 실행을 일시 중지합니다.

JavaScript 5초 대기(개발자를 위한 작동 방식): 그림 2 - Promise 내에서 JavaScript setTimeout() 함수를 비동기적으로 사용하여 5000밀리초(5초) 동안 대기한 콘솔 출력.

3. setInterval() 사용하기

setInterval() 함수는 일반적으로 반복적인 동작에 사용되지만, 원하는 시간이 지난 후 간격을 해제하여 일회성 지연을 생성하는 데에도 사용할 수 있습니다.

console.log("Start");

let timer = setInterval(() => {
    console.log("Waited for 5 seconds");
    // Clear the interval after the desired delay
    clearInterval(timer);
}, 5000);

console.log("End");
console.log("Start");

let timer = setInterval(() => {
    console.log("Waited for 5 seconds");
    // Clear the interval after the desired delay
    clearInterval(timer);
}, 5000);

console.log("End");
JAVASCRIPT

여기서 setInterval() 함수는 clearInterval() 함수로 간격을 초기화할 때까지 5초마다 제공된 함수를 반복 실행합니다.

![JavaScript 5초 대기(개발자를 위한 작동 방식): 그림 3 - JavaScript setInterval() 메서드를 사용하여 5000밀리초(5초) 동안 대기한 콘솔 출력. . 그런 다음 clearInterval() 함수를 사용하여 간격을 지웁니다.

4. new Promise() 사용하기

new Promise() 사용하면 지정된 지연 시간 후에 해결되는 Promise를 생성할 수 있습니다.

console.log("Start");

// Delay function that returns a promise which resolves after `ms` milliseconds
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));

// Use the delay function
delay(5000).then(() => {
    console.log("Waited for 5 seconds");
    console.log("End");
});
console.log("Start");

// Delay function that returns a promise which resolves after `ms` milliseconds
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));

// Use the delay function
delay(5000).then(() => {
    console.log("Waited for 5 seconds");
    console.log("End");
});
JAVASCRIPT

이 예제에서 **delay() 함수는 5초 후에 해결되는 Promise를 반환하며, .then()을** 사용하여 지연 후 코드를 실행합니다.

JavaScript 5초 대기 (개발자를 위한 작동 방식): 그림 4 - Promise와 JavaScript의 delay() 및 then() 함수를 사용하여 콘솔 출력과 5초 대기.

5. IronPDF JS 소개

IronPDF JavaScript 라이브러리는 개발자가 클라이언트 측 JavaScript 에서 직접 PDF 문서를 조작하고 생성할 수 있도록 하는 JavaScript 라이브러리입니다. 이 프로그램은 JavaScript 사용하여 PDF 파일을 생성, 편집 및 변환하는 다양한 기능을 제공합니다.

IronPDF JS 설치 중

IronPDF JS를 사용하려면 먼저 프로젝트에 IronPDF JavaScript 라이브러리를 포함해야 합니다. CDN을 통해 포함시키거나 IronPDF 웹사이트에서 직접 다운로드할 수 있습니다.

npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
SHELL

6. IronPDF 에서 JavaScript 사용하여 5초간 대기

이제 다음 코드 스니펫에서 비동기 JavaScript 인터프리터를 사용하여 5초 동안 기다린 후 PDF 문서를 생성하기 위해 JavaScript 코드 지연 기법을 IronPDF 와 결합하는 방법을 살펴보겠습니다.

코드 예제

import { PdfDocument } from "@ironsoftware/ironpdf";

(async () => {
    const html = `<html><body><h1>Hello, IronPDF!</h1></body></html>`;
    // Wait for 5 seconds
    await new Promise(resolve => setTimeout(resolve, 5000));
    // Create PDF from the HTML content
    const pdfDocument = await PdfDocument.fromHtml(html);
    // Save the PDF file
    await pdfDocument.saveAs("Waited.pdf");  
    console.log("PDF Created after wait");
})();
import { PdfDocument } from "@ironsoftware/ironpdf";

(async () => {
    const html = `<html><body><h1>Hello, IronPDF!</h1></body></html>`;
    // Wait for 5 seconds
    await new Promise(resolve => setTimeout(resolve, 5000));
    // Create PDF from the HTML content
    const pdfDocument = await PdfDocument.fromHtml(html);
    // Save the PDF file
    await pdfDocument.saveAs("Waited.pdf");  
    console.log("PDF Created after wait");
})();
JAVASCRIPT

이 코드 조각에서 비동기 함수는 async/awaitsetTimeout()을 사용하여 5초 동안 기다립니다. 지연 후, IronPDF의 PdfDocument.fromHtml() 메서드를 사용하여 간단한 HTML 콘텐츠로 새 PDF 문서를 생성합니다. PDF 생성 코드를 특정 요구 사항에 맞게 수정하거나 생성된 PDF 데이터를 추가 처리에 사용할 수 있습니다.

![JavaScript 5초 대기(개발자를 위한 작동 방식): 그림 5 - JavaScript setTimeout() 함수를 사용하여 5초 동안 대기한 후 콘솔 출력. 그런 다음 IronPDF 코드가 실행되어 HTML 문자열을 PDF 문서로 변환하고 콘솔에 "PDF Created after wait" 메시지를 표시합니다.

결론

JavaScript 에서 특정 시간 동안 대기하는 것은 개발자들이 자주 접하는 일반적인 작업입니다. 이 글에서는 setTimeout() , async/await를 사용한 Promise, setInterval() , new Promise() 및 JavaScript sleep 함수를 포함하여 JavaScript 에서 5초 동안 대기하는 다양한 방법을 살펴보았습니다.

또한, JavaScript 사용하여 PDF 파일을 관리할 수 있는 IronPDF JS를 도입했습니다. 더 많은 코드 예제를 보려면 IronPDF Node.js 예제를 방문하세요.

이러한 기술과 도구를 이해하면 JavaScript 애플리케이션에 효과적으로 지연 기능을 구현하고 PDF 문서 생성이나 비동기 작업 수행과 같은 더욱 복잡한 작업에 활용할 수 있습니다. 초보 개발자든 숙련된 개발자든, 이러한 기본 사항을 탄탄하게 이해하면 코딩 실력이 향상되고 더욱 효율적이고 견고한 JavaScript 애플리케이션을 작성할 수 있게 됩니다.

다리우스 세란트
풀스택 소프트웨어 엔지니어 (웹 운영)

다리우스 세런트는 마이애미 대학교에서 컴퓨터 과학 학사 학위를 받았으며, Iron Software에서 풀 스택 웹 운영 마케팅 엔지니어로 근무하고 있습니다. 어린 시절부터 코딩에 매료되었던 그는 컴퓨팅이 신비로우면서도 접근하기 쉬운 분야라고 생각했고, 창의력과 문제 해결 능력을 발휘하기에 완벽한 매체라고 여겼습니다.

Iron Software에서 다리우스는 새로운 것을 만들고 복잡한 개념을 단순화하여 더 쉽게 이해할 수 있도록 하는 것을 즐깁니다. 그는 사내 개발자로서 학생들을 가르치는 데에도 자원하여 차세대 인재들과 전문 지식을 공유하고 있습니다.

다리우스에게 있어 그의 일은 가치 있고 실질적인 영향을 미치기 때문에 보람 있는 일입니다.

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해