Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

246
Visualizações
Solo se puede llamar al valor de la base de datos de Firebase con una cadena literal, no con una variable

Estoy usando la siguiente función de nube de Firebase para confirmar que existe una variable "referral_code" en la parte de "referencias" de mi base de datos en tiempo real.

 exports.validateReferral = functions.https.onCall((data, context) => { const referral_code = data.ref console.log("Cloud verifying referral code, code is " + referral_code) return admin.database().ref().child("referrals").child(referral_code.trim()).once("value").then((snapshot) => { console.log(snapshot.val()) if (snapshot.exists()) { console.log("referral code is valid"); return true } else { console.log("referral code is not valid"); return false } }) })

Para el contexto, aquí está la estructura de mi base de datos.

ingrese la descripción de la imagen aquí

El código anterior funciona como se esperaba (principalmente), si le paso "Test1" o "Test2", devuelve válido, si paso "Test3" no es válido.

 > Cloud verifying referral code, code is Test1 > 0 > referral code is valid > Cloud verifying referral code, code is Test2 > 0 > referral code is valid > Cloud verifying referral code, code is Test3 > null > referral code is not valid

Pero... si paso "Test3" o un valor que no está en la base de datos, a pesar de que la función de la nube muestra que no es válido, el código del lado del cliente que uso para llamar a esa función vuelve válido de todos modos.

 var ref = new URLSearchParams(window.location.search).get('ref') console.log("checkReferral ref is " + ref) console.log("checkReferral window.location.search is " + window.location.search) if (ref) { console.log("checkReferral ref found") if (validateReferral({ ref: ref })) { console.log("checkReferral ref is valid") return true } else { console.log("checkReferral ref is not valid") return false } }

Y esta es la salida:

 checkReferral ref is Test3 checkReferral window.location.search is ?ref=Test3 checkReferral ref found checkReferral ref is valid

¿Alguna idea de por qué podría ser esto?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Resolví el problema. Al llamar a validateReferral desde el lado del cliente, necesitaba envolver la llamada de función en una promesa.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda