Simultaneidade JavaScript

Feb 20 2023
Simultaneidade é a capacidade de um programa executar várias tarefas simultaneamente. Em JavaScript, a simultaneidade pode ser obtida por meio de vários mecanismos, como trabalhadores da Web, async/await e promessas.

Simultaneidade é a capacidade de um programa executar várias tarefas simultaneamente. Em JavaScript, a simultaneidade pode ser obtida por meio de vários mecanismos, como trabalhadores da Web, async/await e promessas. Neste artigo, exploraremos esses mecanismos e discutiremos seus benefícios e limitações.

  1. Trabalhadores da Web Trabalhadores da Web são um mecanismo que permite que o código JavaScript seja executado em um thread separado. Os Web Workers são úteis quando queremos executar tarefas intensivas da CPU sem bloquear o thread principal. Por exemplo, podemos usar um web worker para realizar um cálculo complexo sem congelar a IU.

Aqui está um exemplo:

// 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');
};

Aqui está um exemplo:

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

Aqui está um exemplo:

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