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

Retorno da API

Olá.

Gostaria de saber porque foi necessário usar a expressão evento.data.ask para selecionar o valor da moeda?

workerDolar.addEventListener("message", evento => {
  let tempo = gerarHorario()
  let valor = evento.data.ask //Este campo aqui
  imprimiCotacao("dolar", valor)
  adicionarDados(graficoParaDolar, tempo, valor)
})

Eu não achei este campo data no resultado obtido pela API.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Ao colocar apenas let valor = evento.ask , recebo um NaN. Porque isso acontece?

2 respostas
solução!

Olá, Julio!

A expressão event.data.ask é utilizada para selecionar o valor da moeda porque, ao receber a mensagem do worker, o evento contém um objeto com os dados enviados. O .data é utilizado para acessar o conteúdo da mensagem e o .ask é a propriedade que contém o valor da cotação enviado pelo evento. É como se o evento trouxesse um pacote com várias informações e o .ask é a etiqueta que identifica o valor da cotação dentro desse pacote. É uma forma de acessar e extrair a informação específica que desejamos utilizar.

Imagina, quando você consulta a API você recebe o objeto USDBRL. Quando você usa o worker, esse USDBRL vem com o evento.data. Sacou? E se você tentar acessar apenas usando o evento.ask não vai encontrar porque o ask é uma propriedade do USDBRL. Por isso recebe o NaN.

Espero ter ajudado e bons estudos!

Entendi Neilton. Quando uso Worker, os dados vem com esse evento.data , e preciso usar está expressão para acessar os dados.

Obrigado pela explicação. Valeu.