O que é callback?

4 participantes

The Flash The Flash  • 30.01.17 4:21

O que é callback? Empty O que é callback? 30.01.17 4:21

Callback é uma função que é usada como "callback". Ela é tipicamente passada como argumento de outra função e/ou chamada quando um evento for acontecido, ou quando uma parte de código receber uma resposta de que estava à espera.

Isto é muito comum em javascript lado cliente e servidor (NodeJS) mas não só. A função callback é muitas vezes assíncrona na medida em que é chamada como consequência de outro código que esta a correr no background. A grande vantagem é que assim o computador pode ir processando outros processos enquanto a resposta não chega e não precisa assim de parar tudo à espera dessa resposta.

Um exemplo clássico é um auscultador de eventos que chama uma função quando o evento acontece:
Código:
function callback(e) {
    alert('Aconteceu um evento ' + e.type);
}
window.addEventListener('click', callback);
Este callback vai ser chamada quando fizer um click na janela. Até isso acontecer o processador vai processando outras coisas que acontecem na aplicação.

Exemplo: http://jsfiddle.net/D2PuH/


Outro exemplo é uma chamada de ajax, que faz um pedido ao servidor e corre a função quando receber a resposta.

Essa função é uma função "callback". No exemplo em baixo (http://jsfiddle.net/skQr7/) chamei-lhe minhaCallBack.

Código:
function minhaCallBack(returnhtml) {
    $("#result").html(returnhtml);
    $("#loadingimg").hide();
}

$(document).ready(function (e) {
        $.ajax({
            url: form_url,
            type: form_method,
            data: form_data,
            cache: false,
            success: minhaCallBack
        });
});


Outro exemplo ainda (http://jsfiddle.net/V3wDF/) é uma animação que chama a callback no fim da animação estar completa:

Código:
function completa() {
    alert('Este alert está dentro da função "callback"');
}
$('div').animate({
    'height': '200px'
}, {
    duration: 2000,
    complete: completa
});

Fonte: stackoverflow

nadi0s nadi0s  • 02.02.17 21:37

O que é callback? Empty Re: O que é callback? 02.02.17 21:37

Ótimo! Muito obrigado por compartilhar.

Nando Nando  • 02.02.17 21:39

O que é callback? Empty Re: O que é callback? 02.02.17 21:39

Caramba, irei dá uma olhada pois despertou meu interesse. Obrigado!

Karlee Karlee  • 02.02.17 21:49

O que é callback? Empty Re: O que é callback? 02.02.17 21:49

Legal, Quem mais pessoas usem isso :D

The Flash The Flash  • 02.02.17 22:43

O que é callback? Empty Re: O que é callback? 02.02.17 22:43

Safadão escreveu:Legal, Quem mais pessoas usem isso :D
Fico feliz em ter ajudado. Aprender nunca é muito! :^w^:
Permissões neste sub-fórum
Não podes responder a tópicos

BH Servers

Recomendamos a BH Servers com proteção DDOS gratuita em Cloud Server de alta performance. Entrega imediata.