Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Firebase云函数访问onUpdate函数中的更新值?_Javascript_Typescript_Firebase_Google Cloud Functions - Fatal编程技术网

Javascript 如何使用Firebase云函数访问onUpdate函数中的更新值?

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

我正在从事一个个人web应用程序项目。我有一个箭头函数,每次用户更新movieIndex集合中的文档时都会触发该函数。每当我的应用程序启动时,它都会将电影文档的审查字段从False更新为True。我想创建一个云函数,在15分钟后将IsBeingReview的值设置为false。如何访问更新的值并将字段设置为false?超时是正确的方法吗

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
的回调将完全丢失

您将不得不使用来计划稍后的另一个函数调用,或者必须编写一个函数来定期检查要进行的更改。在这两种情况下,都需要相当多的额外工作——未来的工作没有真正的“轻松”安排

另见: