Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

262
Views
Funciones invocables de Firebase. Promise devuelve nulo en el cliente (Cloud Functions)

Desarrollé esta función de base de fuego para devolver datos de mi búsqueda de aplicaciones (elástico). Cuando lo registro en la consola de funciones, puedo ver los datos de la solicitud y también puedo ver el cuerpo de la respuesta en mis registros de API de búsqueda de aplicaciones. Pero no puedo obtener los datos del cliente.

Cuerpo de respuesta

 { "meta": { "alerts": [], "warnings": [], "precision": 2, "page": { "current": 1, "total_pages": 1, "total_results": 2, "size": 10 }, "engine": { "name": "engine", "type": "default" }, "request_id": "DF4VEuzuQpWAHH8VCBkvDg" }, "results": [ { "nome": { "raw": "Produto legal" }, "_meta": { "engine": "engine", "score": 0.8957006, "id": "bnxvuzVXIQ4BxqHxjvgt" }, "id": { "raw": "bnxvuzVXIQ4BxqHxjvgt" } }, { "nome": { "raw": "Produto massa" }, "_meta": { "engine": "engine", "score": 0.3164503, "id": "rdG192xjSVCLIEBNg0la" }, "id": { "raw": "rdG192xjSVCLIEBNg0la" } } ] }

función base de fuego

 exports.searchProdutos = functions.https.onCall((data, context) => { const options = { search_fields: { nome: {} }, result_fields: { nome: { raw: {} } }, }; const query = data.query; client .search("engine", `${query}`, options) .then((response) => { return response; }) .catch((error) => console.log(error.errorMessages)); });

Pero cuando trato de llamarlo en el cliente y registrar la respuesta, obtengo dos objetos nulos registrados en la consola.

Llamada de función en el cliente

 const searchProdutos = httpsCallable(functions, "searchProdutos"); const getProdutos = async () => { const results = await searchProdutos({ query: "produto" }); console.log(results.data); }; getProdutos();

Información adicional: estoy usando Nodejs App Search en mis funciones y reacciono como mi biblioteca/marco frontend

Editar: también recibo una respuesta de 200. Así que supongo que no hay nada malo con la solicitud. Intenté eliminar .then de la función de mi cliente, pero sigo recibiendo data: {null} dos veces

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Estoy publicando una respuesta Wiki de la comunidad para este hilo con el fin de tener una solución disponible para futuros usuarios. Según los comentarios de Kevin B en el hilo de la sala de chat , hay un problema con el código del lado del cliente que llama a su función Firebase. Cuando su código de cliente registra la respuesta con una declaración then , esta declaración then no devuelve la respuesta, sino un valor undefined , esto hace que la respuesta se pierda después de ser registrada.

Además, la función Firebase del lado del servidor no devuelve la promesa a la aplicación cliente dentro de la función client.search() . Según los comentarios de la sala de chat, su función de Firebase debería devolver la respuesta de client.search() .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!