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

ฟังก์ชันอะซิงโครนัสและ Node Event Loop ใน Javascript


ฟังก์ชันอะซิงโครนัส , โปรแกรมทำงานต่อไป . ไม่รอช้า! วิธีนี้ทำให้เวลารอของผู้ใช้ลดลง นอกจากนี้ Javascript ในฐานะภาษาโปรแกรมเองก็เป็นแบบอะซิงโครนัส

ตัวอย่างเช่น หากในโค้ด เรากำลังเรียกใช้คำขอที่มีราคาแพง ซึ่งอาจต้องใช้เวลามาก ดังนั้นในกรณีของฟังก์ชันอะซิงโครนัส เวลารอจะมากเกินไป และผู้ใช้จะไม่ทำ สามารถทำอย่างอื่นได้ด้วย!

โดยทั่วไปแล้ว เราชอบใช้โค้ดแบบอะซิงโครนัสเมื่อดำเนินการที่มีราคาแพงและใช้เวลานาน

มาดูตัวอย่างฟังก์ชัน Anyncronous ในจาวาสคริปต์

ตัวอย่าง

console.log('One');jQuery.get('page.html', ฟังก์ชัน (data){ console.log("Two");});console.log('Three'); 

ผลลัพธ์

หนึ่ง สอง สาม

ทีนี้มาดูว่าเหตุการณ์วนรอบใน Node คืออะไร

วนรอบเหตุการณ์ถูกสร้างขึ้นภายในกำหนดการของเธรดซึ่งการดำเนินการของเธรดของเราควรจะดำเนินการ ณ จุดใดก็ตามในเวลาที่กำหนด

แอปพลิเคชัน Node.js ใดๆ ประกอบด้วย การเรียกกลับที่ดำเนินการเพื่อตอบสนองต่อเหตุการณ์ต่างๆ เช่น การเชื่อมต่อขาเข้า การทำให้ I/O เสร็จสมบูรณ์ การหมดเวลาหมดเวลา การแก้ปัญหาตามสัญญา ฯลฯ เธรดหลัก (ซึ่งตอนนี้เราทราบคือ Event Loop) ดำเนินการเรียกกลับทั้งหมดเหล่านี้

เมื่อวนรอบเหตุการณ์ทำงาน ทุกโหนดวนซ้ำจะตรวจสอบว่ากำลังรอ I/O หรือตัวจับเวลาแบบอะซิงโครนัสหรือไม่ และหากไม่พบอะไร โหนดจะปิดตัวลง