Firebase延迟函数执行
我有一个firebase函数,如下所示:Firebase延迟函数执行,firebase,firebase-realtime-database,google-cloud-functions,Firebase,Firebase Realtime Database,Google Cloud Functions,我有一个firebase函数,如下所示: exports.myFunction = functions.database.ref('/users/{id}/').onWrite((snapshot, context) => { //do some processing here //wait for 5 seconds snapshot.after.ref.parent.once('value').then((newSnapshot) => { //do some pr
exports.myFunction = functions.database.ref('/users/{id}/').onWrite((snapshot, context) => {
//do some processing here
//wait for 5 seconds
snapshot.after.ref.parent.once('value').then((newSnapshot) => {
//do some processing here
//check for some CONDITION
});
//do some processing here
return snapshot.after.ref.set(true); //return this if the CONDITION has been satisfied
return null; //return this if the CONDITION check fails
});
我无法找到适合此逻辑的实现。我遇到了两个问题
首先,我不知道如何通过等待5秒来延迟执行。我已经尝试过实现setTimeout方法,但在某个地方出了问题
其次,我不知道如何编程,以便根据内部函数中的条件检查传递适当的返回值
这是我第一次在firebase上工作,我对js还比较陌生,所以如果有任何帮助,我将不胜感激
编辑:
这是我正在做的一个例子
请解释为什么需要等待5秒钟。在云函数中,等待任何原因几乎肯定不是您想要做的事情。(请注意,运行该功能需要花费金钱,即使它正在等待。)\@DougStevenson我已经更新了这个问题。云功能如何知道客户端失去了互联网连接?客户端无法将变量internet更改为False,因为它没有internet访问权限。@LundinCast使用onDisconnect类。