跳至頁尾內容
NODE 說明

JavaScript 等待 5 秒鐘(開發者的使用方法)

在JavaScript中,等待特定的時間,例如5秒鐘,是一個常見的需求。 無論您是想推遲某個操作還是模擬載入狀態,理解如何在JavaScript中實現延遲是同步程式碼中的關鍵。 在本文中,我們將探索各種方法來在JavaScript中等待5秒,並為每種方法提供範例來暫停JavaScript執行。 此外,我們將使用IronPDF for Node.js與非同步函式和設置超時函式來建立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. 使用Promises和async/await

您也可以使用Promises和async/await在JavaScript中建立延遲,這也稱為非同步程式碼。

範例

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和Promises來暫停執行5秒。

JavaScript 等待5秒(開發者如何運作): 圖2 - 使用JavaScript setTimeout()函式在Promise中非同步地等待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()函式每5秒重複執行提供的函式,直到我們使用clearInterval()函式清除間隔。

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 Library for PDF Generation提供了一個JavaScript程式庫,使開發者能直接從使用者端JavaScript操作和生成PDF文件。 它提供了一系列功能來使用JavaScript建立、編輯和轉換PDF文件。

安裝IronPDF JS

要開始使用IronPDF JS,您需要將IronPDF JavaScript程式庫包含到您的專案中。 您可以通過CDN包括它或直接從IronPDF網站下載。

 npm i @ironsoftware/ironpdf

6. 結合IronPDF的JavaScript等待5秒

現在,讓我們看看如何在以下程式碼片段中結合JavaScript程式碼延遲技術與IronPDF在等待5秒後生成PDF文件,使用非同步JavaScript解釋器。

程式碼範例

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函式使用async/awaitsetTimeout()等待5秒。 在延遲之後,它使用IronPDF的PdfDocument.fromHtml()方法建立新PDF文件,內容為簡單的HTML。 您可以用您的具體需求替換PDF生成程式碼,或使用生成的PDF資料進行進一步處理。

JavaScript 等待5秒(開發者如何運作): 圖5 - 使用JavaScript setTimeout()函式並等待5秒的主控台輸出。 然後執行IronPDF程式碼以將HTML字串轉換為PDF文件,並在控制台中顯示PDF在等待後已建立的訊息。

結論

在JavaScript中等待特定時間是一項開發者經常遇到的常見任務。 在本文中,我們探索了在JavaScript中等待5秒的各種方法,包括使用setTimeout()、帶有async/await的Promises、setInterval()以及new Promise()和JavaScript的sleep功能。

此外,我們介紹了IronPDF JS以便使用JavaScript管理PDF文件。 欲了解更多程式碼範例,請存取IronPDF Node.js範例

通過理解這些技術和工具,您可以有效地在JavaScript應用中實現延遲,並在生成PDF文件或執行非同步操作等更複雜的任務中利用它們。 無論您是初學者還是經驗豐富的開發者,掌握這些基礎知識將提升您的編碼能力,讓您能撰寫出更高效、更強健的JavaScript應用。

Darrius Serrant
全端軟體工程師(WebOps)

Darrius Serrant擁有邁阿密大學的電腦科學學士學位,並在Iron Software擔任全端WebOps行銷工程師。從小就對程式設計有興趣,他認為計算既神秘又易於理解,成為創意和問題解決的完美媒介。

在Iron Software,Darrius喜歡創造新事物並簡化複雜的概念,使其更易於理解。作為我們的常駐開發人員之一,他還志願教學,將他的專業知識傳授給下一代。

對Darrius來說,他的工作是有意義的,因為它有價值且對社會有真正的影響。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話