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

como os parâmetros erro e resultados são reconhecidos?

Mano como que eu boto um parâmetro erro / resultados sem definir pro código o que exatamente ele é, e em seguida mando ele printar resultados com console log? Não faz sentido

conexao.query(sql, atendimento, (erro, resultados) => {
            if(erro) {
                console.log(erro)
            } else {
                console.log(resultados)
            }
        })

De onde vem resultados? COMO o programa sabe o que resultados é ? A função query reconhece a palavra resultados? Tenho as mesmas dúvidas em relação ao parâmetro erro, a gente lê erro e sabe o que é erro mas como a maquina vai entender a palavra erro e saber o que printar?( foi mal se a pergunta for idiota)

2 respostas
solução!

Fala Davi tudo bem ?

Se você tiver usando o VSCode e colocar o mouse em cima da função "query", vai aparecer um toltip informando o que a funcao recebe e retorna

ex:

(options: string | mysql.QueryOptions, callback?: mysql.queryCallback)

Você pode ver que o primeiro parametro é a sua query e o segundo é uma funcao chamada callback, se vc acessar a interface do callback clicando em CTRL + clicando na funcao, você pode notar que o primeiro parametro é o erro e o segundo é o resultado do callback e tem até um terceiro que são os campos.

export type queryCallback = (err: MysqlError | null, results?: any, fields?: FieldInfo[]) => void;

Seguindo isso o primeiro parametro que vc coloca na funcao de callback pode ser qualquer nome, mas ele sempre vai ser o erro e o segundo vai ser sempre o resultado.

um exemplo de funcao com callback: Criei uma funcao calculadora, que recebe 2 numeros e uma funcao como parametro, e essa funcao retorna um valor que é o resultado Em baixo eu executo a funcao calculadora passando os numeros e executando a funcao de callback recebendo o resultado e printando no log


function calculadora(num1, num2, meuCallback) {
    let sum = num1 + num2;
    meuCallback(sum);
}

calculadora(5, 5, ((resultado) => {
        console.log(`o resultado da soma é ${resultado}`)
    })
)

Mds muito obrigado! essas explicações faltaram muito nesse curso, apesar de ser bom, e de a professora ser sim boa, é praticamente um curso de BOAS PRÁTICAS, pra quem JÁ SABE pelo menos um pouco de API com Sql, na minha visão, ela escala o conteúdo em passos largos. Ainda no aguardo da finalização da formação Js Backend para completar meus estudos, obrigado!