Estoy usando el siguiente código para llamar a una función con setTimeout, pero no estoy realmente interesado en JS y Firebase Cloud Functions.
Sin embargo, mis registros muestran el siguiente error: "La función devolvió una Promesa o valor indefinido, esperado" "Excepción de una función finalizada: Error: el valor del argumento "documentPath" no es una ruta de recurso válida. La ruta debe ser una cadena no vacía".
Este es mi código:
function updateDoc(id) { admin.firestore().collection('Orders').doc(id).update({status: 2}).then(() => { console.log("Document successfully updated!"); }) .catch((error) => { console.error("Error updating document: ", error); }); } exports.updateField = functions.firestore .document('/Orders/{id}') .onCreate((snapshot, context) => { const id = context.params.id; setTimeout(updateDoc.bind(id), 30000) });Gracias por cualquier tipo de ayuda.
Hay varios problemas con su código:
updateDoc() . Además, el uso de setTimeout en una función en la nube se debe hacer con cuidado; consulte estas respuestas de SO . Probablemente podría rediseñar su solución para evitar el setTimeout . Si comparte más información sobre por qué lo usa, la comunidad puede ayudarlo.