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

311
Views
La función finalizó con el estado: 'ok' pero los registros de la consola muestran que la función devolvió una promesa o valor indefinido esperado

Estoy tratando de enviar notificaciones usando las funciones de la nube de Firebase, pero cuando actualizo el campo, muestra que la Función devolvió la Promesa o el valor indefinido esperado primero, y luego la ejecución de la Función tomó 364 ms, terminó con el estado: 'ok'.

Mi código

 const functions = require("firebase-functions"); const admin = require("firebase-admin"); admin.initializeApp(); exports.updateOrderStatus = functions.firestore .document("Users/{userId}/Info_Notifications/{notificationId}") .onUpdate((change, context) => { const newValue = change.after.data(); const notificationFor = newValue.orderFrom; let deviceID; const db = admin.firestore(); db.collection("Tokens").doc(notificationFor).get() .then((doc) => { const user = doc.data(); deviceID = user.id; console.log("Device id", deviceID); const payload = { token: deviceID, notification: { title: "Test Notification", body: "message", }, data: { priority: "high", timeToLive: "60 * 60* 24", }, }; console.log("Device ID Out", deviceID); admin.messaging().sendToDevice(payload) .then((response) =>{ return true; }) .catch((error) =>{ return console.log("Error Sending Notifications", error); }); return null; }).catch((error)=>{ return console.log("Error in fetching data", error); }); });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Te falta un retorno en la línea db.collection("Tokens").doc(notificationFor).get()

también debe devolver nulo y asegurarse de pasar una promesa o valor

 const functions = require("firebase-functions"); const admin = require("firebase-admin"); admin.initializeApp(); exports.updateOrderStatus = functions.firestore .document("Users/{userId}/Info_Notifications/{notificationId}") .onUpdate((change, context) => { const newValue = change.after.data(); const notificationFor = newValue.orderFrom; let deviceID; const db = admin.firestore(); return db.collection("Tokens").doc(notificationFor).get() .then((doc) => { const user = doc.data(); deviceID = user.id; console.log("Device id", deviceID); const payload = { token: deviceID, notification: { title: "Test Notification", body: "message", }, data: { priority: "high", timeToLive: "60 * 60* 24", }, }; console.log("Device ID Out", deviceID); admin.messaging().sendToDevice(payload) .then((response) =>{ return true; }) .catch((error) =>{ console.log("Error Sending Notifications", error); return false; }); }).catch((error)=>{ console.log("Error in fetching data", error); return false; }); });
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!