我正试图通过循环列表来实时设置Firebase数据库上的对象。例如,我有一个对象列表。我想在这个列表上运行,每个循环都实时保存数据库中的对象。这是代码:
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 Function中运行此代码,我的最佳猜测是您希望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);
}