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

[Bug] Retornando o console.log diferente.

Meu código até que está funcionando sem problemas algum, porém, estou tendo problema com o console.log na hora de me retornar o valor Quando eu peço ao reconhecimento de voz me enviar o valor de 2000 (acima do maior valor) ele me retorna um console.log com isso certinho, quando falamos um valor menor que 1 (negativo) ele me retorna um console.log totalmente diferente

Meu código é esse:

reconhecimentoDeVoz.js

const elementoChute = document.getElementById("chute");

const SpeechRecognition =
 window.SpeechRecognition || window.webkitSpeechRecognition;

const recognition = new SpeechRecognition();

recognition.lang = 'pt-Br';
recognition.start();

recognition.addEventListener('result', onSpeak);

function onSpeak(e){
    chute = (e.results[0][0].transcript);
    exibeChuteNaTela(chute);
    verificaValorChute(chute);


}

function exibeChuteNaTela(chute){
    elementoChute.innerHTML = `
    <div>Você disse</div>
    <span class="box"> ${chute}</span>
    `
}

validacao.js

function verificaValorChute(chute){
    const numero = +chute

    if(chuteForInvalido(numero)){
        console.log('Chute invalido')
    
    }
    
    if(numeroForMaiorOuMenorQueOValorPermitido(numero)){
        console.log(`Valor invalido: o número secreto precisa estar entre ${maiorValor} e ${maiorValor}`)
    }
}

function chuteForInvalido(numero) {
    return Number.isNaN(numero)
}

function numeroForMaiorOuMenorQueOValorPermitido(numero){   
    return numero > maiorValor || numero < menorValor

}
2 respostas
solução!

Olá, tudo bem. Pelo código realmente não tem nada de errado. Eu sugiro colocar um "console.log(numero)" antes executar o if "if(chuteForInvalido(numero)){" para saber o que realmente está indo para a função "chuteForInvalido()", porque ao digitar um número menor que 1 pode está indo algum caractere especial, fazendo com que o isNaN retorne true. Faz esta alteração e compartilha conosco para sabermos o que aconteceu. Espero ter ajudado.

Obrigado pela ajuda, pelo visto, o problema tá sendo na própria API!