none
JavaScript : Função : Passagem de Parâmetro RRS feed

  • Pergunta

  • Olá Dev´s, uma excelente tarde!

    Estou a passa uma variável string para uma função :

    var fTemp = Buscar_Temperatura(fCidade);

    Já chequei, e ela está com valor, ou seja, não está vazia.

    Ao chegar na Função, faço a checagem, e o valor está dando como VAZIO. O que estou fazendo errado ?

     if (NomedaIntent == "Consulta_cep") {
        var CEP = request.body.queryResult.parameters["cep"];
        buscaCep(CEP, { sync: false, timeout: 1000 }).then(endereco => {
          var local = endereco.logradouro + " - " + endereco.bairro + 
                      "\n" +endereco.localidade + " - " +endereco.uf +"\n" +
                      endereco.cep;
          
          var fCidade = endereco.localidade.trim();
    
          var fTemp = Buscar_Temperatura(fCidade);
    
          response.json({
            fulfillmentText:
              "Cidade do CEP : (" + fCidade + ") : " + "\n" + local + "\n" + fTemp
          });
        });
      }
    

    Mas abaixo, está dando como VAZIA a variável/parâmetro :

    function Buscar_Temperatura(fCidade) {
        if (typeof fCidade != "") return "VAZIA!!";
    
        if (typeof fCidade == "undefined") return "indefinida!";
    
        if (typeof fCidade == null) return "NULA";
    
        helper.getCurrentWeatherByCityName(
          "" + fCidade + "",
          (err, currentWeather) => {
            if (err) {
              return err;
            } else {
              var temperaturaAtual = parseInt(currentWeather.main.temp);
              var tempMax = parseInt(currentWeather.main.temp_max);
              var tempMin = parseInt(currentWeather.main.temp_min);
    
              return (
                "(" +
                fCidade +
                ")  Temperatura Atual: " +
                temperaturaAtual +
                "  " +
                "Temperatura Máxima: " +
                tempMax +
                "  " +
                "Temperatura Mínima: " +
                tempMin
              );
            }
          }
        );
      }
    

    Podem me ajudar ?

    Grato !!!


    Gilberto Herminio Desenvolvedor - Mogi das Cruzes-SP desenvolvedor.gha@gmail.com

    sexta-feira, 13 de março de 2020 15:47

Todas as Respostas

  • Olá, Gilberto!!

    Acredito que o problema esteja na validação da variável fCidade para o caso de estar vazia ou não. Experimente o seguinte:

    // Dentro da função Buscar_Temperatura() utilize esta validação para saber se o argumento está ou não vazio
    if (typeof fCidade == "") return "VAZIA!!";


    “First do it, then do it right, then do it better.”

    terça-feira, 17 de março de 2020 18:30