Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não precisa de passar parametro ?

O código do video ficou assim: function fraseAleatoria() { $.get("http://localhost:3000/frases", trocaFraseAleatoria); }

function trocaFraseAleatoria(data) { var frase = $(".frase"); var numeroAleatorio = Math.floor(Math.random() * data.length);

frase.text(data[numeroAleatorio].texto); }

A function trocaFraseAleatoria recebe o parametro data, porém o mesmo não foi informado quando a função foi chamada no get. Entendo que o correto seria fazer: $.get("http://localhost:3000/frases", trocaFraseAleatoria(data));

Como funcionou ?

1 resposta
solução!

Boa tarde, Felipe! Como vai?

Nesse caso, se fosse feito da forma como vc sugeriu, a função trocaFraseAleatorio() seria executada no exato momento em que o JavaScript passasse pela linha $.get("http://localhost:3000/frases", trocaFraseAleatoria(data)). Só que não é isso que a gente quer! O que queremos é que ele seja executado somente quando a requisição para a URL tenha sido concluida! Ou seja, queremos que a função trocaFraseAleatoria() funcione como um callback, e, portanto, não declaramos os parênteses e o próprio $.get() se encarrega de chamar essa função e passar o parâmetro para ela.

Pegou a ideia?

Qualquer dúvida é só falar!

Grande abraço e bons estudos!