Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ฟังก์ชัน Sleep() ใน JavaScript

Sleep()

ด้วย Sleep() เราสามารถหยุดการทำงานของฟังก์ชันเป็นเวลาที่กำหนดได้ ในภาษา C และ PHP ใช้ sleep(sec) Java มี Thread.sleep() Python มี time.sleep() และ GO มี time.Sleep(2 * time.Second)

JavaScript ไม่มี Sleep Functions แบบนี้ แต่ขอบคุณ Promises และ Async/Await ใน ES2018 ที่ช่วยให้ใช้ sleep() ได้ง่ายขึ้น มาดูรายละเอียดกัน

Syntax-1

sleep(Time in ms).then(() => { //// code })

ใช้ Sleep Function กับ Then Callback ตามด้านบน

Syntax-2

const work = async () => { await sleep(Time in ms) //code } work()

ใช้ Sleep Function กับ Async/Await ตามด้านบน

ตัวอย่าง

ในตัวอย่างนี้ ใช้ sleep() กับ Async/Await Function Sleep Function ร่วมกับ Await เพื่อดำเนินการต่อ เริ่มต้นข้อความใน Async Function "Hello Tutorix" แสดงเมื่อฟังก์ชันเริ่มต้น ต่อมาหยุดฟังก์ชันด้วย Sleep Function 3 วินาที เมื่อ ช่วงเวลา ครบ ข้อความต่อจาก Sleep Function ("Welcome to ........") จะแสดง ทำซ้ำจน Loop จบ หมายถึงข้อความจะซ้ำ 19 ครั้ง ตาม Output

<html> <body> <script>    function sleep(ms) {       return new Promise(resolve => setTimeout(resolve, ms));    }    async function Tutor() {       document.write('Hello Toturix');       for (let i = 1; i <20 ; i++) {                  await sleep(3000);          document.write( i +" "+"Welcome to tutorix" + " " + "</br>");       }    }    Tutor() </script> </body> </html>

ผลลัพธ์

Hello Tutorix // after 3 secs 1 Welcome to tutorix // after 3sec...และข้อความจะซ้ำจน Loop จบ ทุก 3 วินาที 2 Welcome to tutorix 3 Welcome to tutorix ... 19 Welcome to tutorix