Sobes.tech
Junior — Middle

Como é que se pode controlar a execução de tarefas assíncronas em sistemas de software?

sobes.tech IA

Resposta da IA

No Node.js, as tarefas assíncronas são controladas por várias abordagens:

  • Callbacks — passar uma função de callback que é chamada após a conclusão da operação.
  • Promises — objetos que representam o resultado de uma operação assíncrona, permitindo escrever cadeias .then() e tratar erros com .catch().
  • async/await — açúcar sintático sobre as promessas, permitindo escrever código assíncrono de forma semelhante ao síncrono.

Para controlar a execução, pode-se usar:

  • Promise.all() — aguardar a conclusão de várias promessas.
  • EventEmitter — para subscrever a eventos e reagir a eles.
  • Bibliotecas de gerenciamento de filas (por exemplo, async), que permitem limitar o número de tarefas que podem ser executadas simultaneamente.

Exemplo com async/await:

async function fetchData() {
  try {
    const data = await someAsyncOperation();
    console.log(data);
  } catch (error) {
    console.error(error);
  }
}
fetchData();