【发布时间】:2017-10-26 18:54:56
【问题描述】:
我检查了许多帖子,但无法解决问题。 我想在继续之前返回数组。我尝试使用带有回调的函数,但也没有用。
我的代码如下:
exports.GetHelmets = functions.database.ref('onTrack/{userID}').onCreate(event => {
var helmets = [];
let userID = event.params.userID;
let friendRef = admin.database().ref("friends").child(userID);
friendRef.once("value").then(snapshot => {
snapshot.forEach(function(snapshot2){
let rider = snapshot2.val();
let riderID = rider.id;
let rhRef = admin.database().ref("User").child(riderID);
rhRef.once("value", function(snapshot3){
let rider2 = snapshot3.val();
let helmetID = rider2.helmet;
if (helmetID != "STANDARD"){
if(helmets.indexOf(helmetID) < 0){
helmets.push(helmetID);
};
};
});
});
return helmets;
}).then(helmets => {
//WORK WITH ARRAY
});
希望你能帮助我,谢谢!
【问题讨论】:
标签: node.js firebase firebase-realtime-database google-cloud-functions