1
resposta

Problema com a criação de gráficos usando Chart.js

Galera, preciso de um help. Para resumir o problema, quando clico para gerar um gráfico (o primeiro, com o Dolar Americano), o console me retorna a informação de que labels do meu Chart não está definido. Sendo que está! Preciso de ajuda. Link do github, (Deem um liveServer no arquivo carteira.html é nele que está o problema).

https://github.com/RochaDevs/moedas

1 resposta

E aí meu querido, vi seu código aqui, o teu problema era na passagem de um parametro na construção dos dados do gráfico.

Fiz 2 pequenas modificações para funcionar, mas não sei se é dá forma que você espera.

Na construção do Chart adicionei uma const nela:

const Chart1 = new Chart(graficoPrimeiraMoeda, { . . .

E na func conectaPrimeiraAPI adicionei uma const para pegar a key da vez, com isso o código funcionou

 async function conectaPrimeiraAPI() {
  let url = await construirPrimeiraURL();
  let urlConecta = await fetch(url)
  let urlResposta = await urlConecta.json()
  console.log(urlResposta)
  let tempo = gerarHorario();
  const key = Object.keys(urlResposta)[0]
  let valor = urlResposta[key].ask
  adicionarDados(Chart1, tempo, valor)
}

O problema era que na chamada do adicionarDados você estava passando antes graficoPrimeiraMoeda que era você está armazenando uma referência ao elemento HTML, com isso dentro do adicionarDados você não conseguia acessar as props grafico.data.labels e grafico.data.datasets pois grafico não é um objeto e quebrava teu código.

Espero ter ajudado e bom trabalho.