我有一种情况,我必须递归调用我的云函数,直到到达最后一个子节点为止。我能够达到终点,但是我的云功能永远不会完成,它会在1分钟后完成所有任务和超时。
这是我的示例代码-
updateDataOnFirebase = function(startKey) {
query.once('value',
function (snapshot) {
var lastKey = ''
if (snapshot.exists() && snapshot.hasChildren()) {
snapshot.forEach(function(childSnapshot) {
if (startKey !== childSnapshot.key) {
lastKey = childSnapshot.key
}
//do some stuff
})
}
resolve(lastKey)
})
}).then(function(value) {
if (value) {
return new Promise((resolve, reject) => {
return updateDataOnFirebase(value)
})
}
else{
throw new Error("error message");
//return null
}
}).catch(error => {
console.log('error', error);
})
return promise;
}