云端功能"/>
云端功能
我想在Firebase数据库中通过循环一个列表来实时设置一个对象,例如,我有一个Objects的列表,我想在这个列表上运行,每次循环都会实时保存对象。例如,我有一个Objects的列表,我想在这个列表上运行,每次循环都在数据库中实时保存对象。
if(feedVideosList.length > 0){
feedVideosList.forEach(video =>{
return admin.database().ref('/userFeed/${userUID}/').set(video);
}).catch(error =>{
console.log("Error user feed: ",error);
});
}else{
console.log("Problem with the videos list: ",error);
}
我很确定这段代码是错误的,我不应该这样写. 就像我说的,我想做的是运行一个列表,每次都把数据保存在spasific节点上. 问题是我应该怎么做,正确的方法是什么?
回答如下:如果你在Cloud Functions中运行这段代码,我最好的猜测是,你希望Cloud Function在完成对数据库的所有写入后终止。你可以使用 Promise.all()
为此。
if(feedVideosList.length > 0){
let promises = []
feedVideosList.forEach(video =>{
promises.push(admin.database().ref('/userFeed/${userUID}/').set(video));
})
return Promise.all(promises).catch(error =>{
console.log("Error user feed: ",error);
});
}else{
console.log("Problem with the videos list: ",error);
}
更多推荐
云端功能
发布评论