Em tradução literal, Callback pode ser traduzido como “chamada de retorno” ou “me liga de volta”. Mas quando pensamos em programação, seu sentido é um pouco diferente.
Em tradução literal, Callback pode ser traduzido como “chamada de retorno” ou “me liga de volta”. Mas quando pensamos em programação, seu sentido é um pouco diferente.
O Callback faz parte do desenvolvimento de softwares. Quem já leu ou lida diretamente com documentações de framework, biblioteca e até API, se depara constantemente com o termo.
Mas afinal, o que é esse tal de Callback e qual a sua função?
O que é e para que serve o Callback?
Trata-se de uma função ou URL que é executada quando algum evento acontece ou depois que algum código chega ao estado desejado. Também conhecido como função de retorno, o Callback cria regras dentro de outras funções para que sejam utilizadas no futuro.
Normalmente, ele age de forma assíncrona, ou seja, não é executado imediatamente. A aplicação continuará rodando enquanto espera o momento certo da sua execução.
O Callback é muito comum na linguagem JavaScript, por exemplo, durante a criação de efeitos visuais de animação ou de outra natureza. Isso porque permite ao programador especificar o que deve ocorrer quando um efeito acabar.
A grande vantagem dessa função é que o computador pode realizar outros processos enquanto a resposta não chega, eliminando a necessidade de parar tudo enquanto aguarda a resposta.
Difícil entender? Vamos então sair um pouco da teoria e dar um exemplo prático que, apesar de não ter relação com programação, pode ser útil.
- Imagine que duas pessoas foram comer em um restaurante mas lá somente tem 1 faca e 1 garfo disponível;
- A primeira pessoa irá “executar” o modo comer. Ao finalizar, irá chamar a função Callback “emprestar talheres para a outra pessoa.”
- Enquanto essa função não for executada, a segunda pessoa deve esperar para comer.
Como a função Callback pode ser útil?
O Callback pode ser útil em diversas situações do desenvolvimento web. Ele costuma ser mais utilizado em:
- Criação de APIs;
- Generalização de código;
- Execução Assíncrona (solicitações HTTP, ler arquivos);
- Event Listeners;
- Métodos setTimeOut e setInterval.
Não existe praticamente nenhum framework que não disponibilize Callbacks implementados. Nesses casos, ele entra como uma forma poderosa de customização e personalização dessas soluções.
Em um CRUD (Create, Read, Update and Delete) simples, por exemplo, a função Callback pode ser utilizada após a inclusão de um item no banco de dados. Possibilitando, assim, programar diversas funcionalidades que são essenciais para a sua aplicação.
As funcionalidades utilizadas nos métodos de pagamento também são ótimos exemplos. Uma vez que você executa o pagamento em um gateway, este deve se comunicar com a sua loja virtual – e é exatamente a função dos Callbacks.
Ele também se faz presente na aplicação mobile, principalmente em ações como permitir que a tela seja movimentada “ao sumir o teclado”.
Callback é a mesma coisa que Hook?
É muito comum que Hook seja confundido com Callback. Porém, suas funcionalidades são um pouco diferentes.
Um Hook, que na tradução significa “gancho”, é uma forma de acrescentar ou modificar o comportamento de uma aplicação, sem mexer diretamente no código fonte dela.
Os Hooks são muito comuns no WordPress. Com ele, foi possível criar um comportamento dentro do sistema, como adicionar um script de publicidade durante o processamento do cabeçalho.
Utilizando um Hook, o seu código irá concorrer com o código original. Em contrapartida, com o Callback, isso não acontece. Afinal, o evento somente irá ocorrer após determinada ação finalizar.
Conseguiu entender um pouco sobre a lógica do Callback? Caso você queira se aprofundar no conteúdo, corre para o Código Fonte TV que tem um vídeo bem bacana sobre o assunto.