Node.js 云函数-使用循环保存数据
我试图通过循环列表在Firebase数据库上实时设置一个对象。 例如,我有一个对象列表。我想运行该列表,并在对象的数据库上实时保存每个循环。 代码如下:Node.js 云函数-使用循环保存数据,node.js,firebase-realtime-database,google-cloud-functions,Node.js,Firebase Realtime Database,Google Cloud Functions,我试图通过循环列表在Firebase数据库上实时设置一个对象。 例如,我有一个对象列表。我想运行该列表,并在对象的数据库上实时保存每个循环。 代码如下: if(feedVideosList.length > 0){ feedVideosList.forEach(video =>{ return admin.database().ref('/userFeed/${userUID}/').set(video); }).catch(error
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节点上保存数据。
问题是我应该如何做,正确的方法是什么?如果您在云函数中运行此代码,我的最佳猜测是您希望云函数在完成对数据库的所有写入后终止。为此,您可以使用
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);
}
如果您在云函数中运行此代码,我的最佳猜测是您希望云函数在完成对数据库的所有写入后终止。为此,您可以使用
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);
}
正是我所需要的正是我所需要的