Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

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


สลีป()

ด้วยความช่วยเหลือของ Sleep() เราสามารถสร้างฟังก์ชันเพื่อหยุดการทำงานชั่วคราวได้ในระยะเวลาที่กำหนด ในภาษาโปรแกรมเช่น C และ Php เราจะเรียก นอน(วินาที) . Java มี thread.sleep() , python มี time.sleep() และ ไป มี time.Sleep(2 * time.Second) .

จาวาสคริปต์ ไม่มีฟังก์ชันการนอนหลับประเภทนี้ แต่เราควรขอบคุณ สัญญา และ ฟังก์ชัน async/await ใน ES 2018 เนื่องจากคุณสมบัติเหล่านี้ช่วยให้เราใช้ sleep() ง่ายที่สุด มาพูดคุยกันสั้นๆ

ไวยากรณ์-1

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

เราสามารถใช้ฟังก์ชันสลีปแล้วโทรกลับตามที่แสดงด้านบนได้

ไวยากรณ์-2

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

เราสามารถใช้ฟังก์ชันสลีป ด้วยฟังก์ชัน async/await ดังแสดงด้านบน

ตัวอย่าง

ในตัวอย่างต่อไปนี้ เราได้ใช้ sleep() ด้วยฟังก์ชัน async/await . ฟังก์ชั่นการนอนหลับที่นี่มาพร้อมกับ รอ เพื่อดำเนินกระบวนพิจารณาต่อไป เริ่มแรกข้อความในฟังก์ชัน async "สวัสดี Tutorix " จะปรากฏขึ้นเมื่อเริ่มฟังก์ชัน ต่อมา ฟังก์ชันจะหยุดชั่วคราวโดยใช้ฟังก์ชันสลีป เป็นเวลา 3 วินาที เมื่อ ช่วงเวลา เสร็จเรียบร้อยแล้ว text("ยินดีต้อนรับสู่ ........ ") ตามฟังก์ชันสลีป จะปรากฏขึ้น ทำซ้ำจนกว่าการวนซ้ำจะสิ้นสุดลง ซึ่งหมายความว่าข้อความจะทำซ้ำทั้งหมด 19 ครั้งตามที่แสดงในผลลัพธ์

<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...and the text will repeat until the loop terminates for every 3 sec
2 Welcome to tutorix
3 Welcome to tutorix
4 Welcome to tutorix
5 Welcome to tutorix
6 Welcome to tutorix
7 Welcome to tutorix
8 Welcome to tutorix
9 Welcome to tutorix
10 Welcome to tutorix
11 Welcome to tutorix
12 Welcome to tutorix
13 Welcome to tutorix
14 Welcome to tutorix
15 Welcome to tutorix
16 Welcome to tutorix
17 Welcome to tutorix
18 Welcome to tutorix
19 Welcome to tutorix