Callbacks: funções que chamam outras funções
Aprenda o conceito de passar uma função como argumento para outra, essencial para eventos e assincronicidade.
Agora que você já conhece funções tradicionais, anônimas e arrow functions, vamos ver um conceito muito usado no JavaScript: callback.
Um callback é, de forma simples, uma função passada para outra função para ser executada depois.
Pense em uma pizzaria:
- Você faz o pedido.
- Deixa seu número.
- Quando a pizza fica pronta, a pizzaria te liga.
Esse “te ligar depois” é a ideia de callback: uma ação que acontece quando outra termina.
O que é callback?
É uma função enviada como argumento para outra função.
Exemplo básico:
function executarOperacao(callback) {
console.log("Executando operação principal...");
callback();
}
function finalizar() {
console.log("Operação finalizada!");
}
executarOperacao(finalizar);
Aqui:
finalizaré a função callback.- Ela é executada dentro de
executarOperacao.
Callback com função anônima
Você também pode passar callback sem criar função separada:
function saudacao(nome, callback) {
console.log("Olá, " + nome + "!");
callback();
}
saudacao("Ana", function () {
console.log("Seja bem-vinda ao curso!");
});
Callback com Arrow Function
Forma moderna e enxuta:
function saudacao(nome, callback) {
console.log("Olá, " + nome + "!");
callback();
}
saudacao("Carlos", () => {
console.log("Vamos estudar JavaScript!");
});
Onde callbacks aparecem muito?
- Eventos de clique em botões
setTimeoutesetInterval- Métodos de arrays como
map,filter,forEach - Operações assíncronas (como requisições)
Exemplo com setTimeout:
console.log("Início");
setTimeout(() => {
console.log("Executou depois de 2 segundos");
}, 2000);
console.log("Fim");
Perceba que o código continua rodando, e o callback executa depois.
Vantagens de callbacks
- Deixam o código flexível
- Permitem personalizar comportamento
- São base para entender assincronicidade em JavaScript
Cuidado: callback em excesso
Quando há callbacks demais aninhados, o código pode ficar confuso (o famoso “callback hell”).
Mais adiante você verá alternativas como Promises e async/await.
Resumo da lição
Callback é uma função passada como argumento para ser executada em outro momento ou contexto.
Esse padrão é essencial no JavaScript, principalmente para eventos e tarefas assíncronas.