Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Por que utilizamos data no trocaFrase?

Na função trocaFrase é recebido a variável data, não entendi da onde veio essa variável. Ela é de $.get quando fizemos referência a função trocaFrase?

$.get("http://localhost:3000/frases", dados, trocaFrase) // Aqui fizemos a referência de trocaFrase.
    .fail(function(){
        $("#erro").toggle();
        setTimeout(function(){
            $("#erro").toggle();
        },2000);
    })
    .always(function(){
        $("#spinner").toggle();
    });
}

function trocaFrase(data){ // Aqui recebemos os dados de $.get

    var frase = $(".frase");
    frase.text(data.texto);
    atualizaTamanhoFrase();
    atualizaTempoInicial(data.tempo);
}
4 respostas

Acho que entendi, é como se eu estivesse enviando a função trocaFrase dentro do banco de dados e a variável data, na verdade poderia ter qualquer outro nome, pelo qual irá receber os dados coletados no formato de um objeto. É isso?

solução!

Boa tarde, Danilo! Como vai?

Quem fica responsável por mandar um valor para esse parâmetro é o próprio $.get(). Quando a requisição é finalizada o callback é executado e é enviado para esse callback a resposta da requisição. Nesse caso, o seu callback é a função trocaFrase() e vc escolheu chamar o parâmetro de data que, por sua vez, é quem vai receber a resposta da requisição. No entanto, vc poderia dar o nome que quisesse para o parâmetro como batman, dados, ou outro nome qualquer que iria continuar funcionando. Bastaria que dentro da função trocaFrase() vc passasse a utiliza o novo nome do parâmetro em vez de data.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!

Entendi, muito obrigado! CallBack é uma função que é passada como argumento de outra função, quando a primeira função ocorre, então a função de callBack entra em ação. Uma função callBack é muitas vezes assíncrona, no sentido em que o computador não precisa esperar a resposta desta para executar os outros processos que estão ocorrendo. Haha, dei uma pesquisada no Stack Overflow.

Por nada, Danilo! Sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos!