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();