Javascript 如何使用Firebase云函数访问onUpdate函数中的更新值?
我正在从事一个个人web应用程序项目。我有一个箭头函数,每次用户更新movieIndex集合中的文档时都会触发该函数。每当我的应用程序启动时,它都会将电影文档的审查字段从False更新为True。我想创建一个云函数,在15分钟后将IsBeingReview的值设置为false。如何访问更新的值并将字段设置为false?超时是正确的方法吗Javascript 如何使用Firebase云函数访问onUpdate函数中的更新值?,javascript,typescript,firebase,google-cloud-functions,Javascript,Typescript,Firebase,Google Cloud Functions,我正在从事一个个人web应用程序项目。我有一个箭头函数,每次用户更新movieIndex集合中的文档时都会触发该函数。每当我的应用程序启动时,它都会将电影文档的审查字段从False更新为True。我想创建一个云函数,在15分钟后将IsBeingReview的值设置为false。如何访问更新的值并将字段设置为false?超时是正确的方法吗 admin.initializeApp(); exports.newMessage = functions.firestore .docum
admin.initializeApp();
exports.newMessage = functions.firestore
.document("movieIndex/{movie}")
.onUpdate(async (change, context) => {
const changedDoc = change.after.data();
if (changedDoc.isBeingReviewed == true)
{
console.log("The current status of isBeingReviewed is equal to TRUE, set it to false after 15 minutes ")
setTimeout( access changed value and set it to false ,1000 * 60 * 15)
}
else
{
console.log("The current status of isBeingReviewed is equal to FALSE")
}
});
云功能运行不可能超过9分钟。默认超时为60秒。您将无法使用JavaScript
setTimeout
为以后安排一些工作,因为云函数将在配置的超时后关闭代码,并且来自setTimeout
的回调将完全丢失
您将不得不使用来计划稍后的另一个函数调用,或者必须编写一个函数来定期检查要进行的更改。在这两种情况下,都需要相当多的额外工作——未来的工作没有真正的“轻松”安排
另见: