ใช้ setTimeout() หน่วงเวลาใน Milliseconds (1000ms = 1 วินาที)
ตัวอย่างโค้ด
var firstValue = 10;
var secondValue = 20;
var result = firstValue + secondValue;
setTimeout(function() {
// รอ 5 วินาที (5000 ms)
}, 5 * 1000);
console.log("The result=" + result);
หมายเหตุ: โค้ดด้านบน console.log จะทำงานทันที ไม่รอ setTimeout เพราะ JS เป็น Non-blocking ต้องใช้ Callback หรือ async/await
วิธีรันโปรแกรม
ใช้คำสั่ง node fileName.js (เช่น node demo95.js)
ผลลัพธ์
The result=30
วิธีที่ถูกต้องสำหรับ Delay แบบ Blocking
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function demo() {
var firstValue = 10;
var secondValue = 20;
var result = firstValue + secondValue;
await sleep(5000); // รอ 5 วินาที
console.log("The result=" + result);
}
demo();