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

315
Visualizações
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 Respostas
Responde à pergunta

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 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