0
私は数多くの投稿をチェックしましたが、問題を解決できませんでした。 先に進む前に配列を返す必要があります。私はコールバックで関数を使用しようとしましたが、どちらもうまくいきませんでした。Firebase関数 - NodeJS:非同期配列処理
私のコードは次のようになります。
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
});
私はあなたが私を助けることを願って、ありがとう!