การทำงานพร้อมกันของ JavaScript

Feb 20 2023
การทำงานพร้อมกันคือความสามารถของโปรแกรมในการทำงานหลายอย่างพร้อมกัน ใน JavaScript การทำงานพร้อมกันสามารถทำได้ผ่านกลไกต่างๆ เช่น Web Worker, Async/Await และ Promise

การทำงานพร้อมกันคือความสามารถของโปรแกรมในการทำงานหลายอย่างพร้อมกัน ใน JavaScript การทำงานพร้อมกันสามารถทำได้ผ่านกลไกต่างๆ เช่น Web Worker, Async/Await และ Promise ในบทความนี้ เราจะสำรวจกลไกเหล่านี้และหารือถึงประโยชน์และข้อจำกัดของกลไกเหล่านี้

  1. Web Workers Web Workers เป็นกลไกที่อนุญาตให้โค้ด JavaScript ทำงานในเธรดแยกต่างหาก Web Workers มีประโยชน์เมื่อเราต้องการทำงานที่ต้องใช้ CPU มากโดยไม่ปิดกั้นเธรดหลัก ตัวอย่างเช่น เราสามารถใช้พนักงานเว็บเพื่อทำการคำนวณที่ซับซ้อนโดยไม่ทำให้ UI ค้าง

นี่คือตัวอย่าง:

// main.js
const worker = new Worker('worker.js');
worker.postMessage('Hello from main.js');
worker.onmessage = (event) => {
  console.log('Received message from worker:', event.data);
};

// worker.js
self.onmessage = (event) => {
  console.log('Received message from main.js:', event.data);
  self.postMessage('Hello from worker.js');
};

นี่คือตัวอย่าง:

async function getData() {
  const response = await fetch('https://example.com/data.json');
  const data = await response.json();
  return data;
}

นี่คือตัวอย่าง:

fetch('https://example.com/data.json')
  .then((response) => response.json())
  .then((data) => console.log(data))
  .catch((error) => console.error(error));