ฟังก์ชัน, เธรด และการทำงานแบบ Asynchronous ใน JavaScript

คุณจำเป็นต้องเข้าใจว่า JavaScript ทำงานอย่างไรในเบื้องหลัง

นี่คือรายละเอียดของฟังก์ชัน, โปรเซส (processes), เธรด (threads) และรูปแบบการทำงาน (execution styles)

ประเภทของฟังก์ชันใน JavaScript

Process vs. Thread

Process คือโปรแกรมที่กำลังทำงานบนคอมพิวเตอร์ของคุณ

Thread คือหน่วยย่อยที่อยู่ภายใน process

Synchronous vs. Asynchronous

JavaScript ทำงานแบบ single-threaded โดยจะจัดการงานทีละอย่างผ่าน call stack

Synchronous Execution:

Asynchronous Execution:

หลักการทำงานของ Asynchronous:

  1. JavaScript ส่งงาน (เช่น ตัวจับเวลา) ไปยัง Web API
  2. โค้ดหลักจะทำงานต่อไปเรื่อยๆ
  3. เมื่อทำงานเสร็จแล้ว งานนั้นจะถูกส่งไปยัง Callback Queue
  4. Event Loop จะย้ายงานนั้นไปยัง Call Stack เมื่อ Call Stack ว่างลง

สิ่งนี้ช่วยให้เว็บแอปพลิเคชันของคุณทำงานได้อย่างรวดเร็วและตอบสนองได้ดี

Source: https://dev.to/kamalesh_ar_6252544786997/types-of-function-and-threads-process-and-synchronous-vs-asynchronous-in-javascript-1hhd