我正在從我的功能firebase下載,我無法解決如何訪問我已下載的數組。Firebase的雲端函數:如何訪問我剛剛從Firebase獲得的陣列?
這是我的代碼:
exports.messageAdded = functions.database.ref('cities/barcelona/pickUp/gamesDetailed/{gameId}/wal/{messageId}').onWrite(event => {
const getPlayer1sIdPromise = admin.database().ref(`/cities/barcelona/pickUp/gamesDetailed/gameId/pla1`).once('value');
const getPlayer2sIdPromise = admin.database().ref(`/cities/barcelona/pickUp/gamesDetailed/gameId/pla2`).once('value');
const getInstanceIdPromise = admin.database().ref(`/users/usersDetailed/${receiverUid}/deviceID`).once('value');
return Promise.all([getPlayer1sIdPromise, getPlayer2sIdPromise]).then(results => {
const player1Ids = results[0].val();
// PROBLEM IS HERE
console.log(player1Ids);
console.log(player1Ids[0]);
console.log(results[0]);
console.log(results[0].val()[0]);
Promise.all([getInstanceIdPromise, getSenderUidPromise]).then(results => {
const instanceId = results[0].val();
const sender = results[1];
const payload = {
notification: {
title: senderName,
body: messageText,
icon: sender.photoURL
}
};
admin.messaging().sendToDevice(instanceId, payload)
.then(function (response) {
console.log("Successfully sent message:", response.results);
console.log("Successfully sent message:", response);
})
.catch(function (error) {
console.log("Error sending message:", error);
});
});
});
});
在代碼中,我聲明一點問題出在哪裏。在那裏我無法解決如何訪問player1Ids。我回來的東西應該是一個數組,我想訪問第一個值,但我不知道該怎麼做。
這是完全沒有經驗的JavaScript和我很抱歉,如果這是一個重複的問題,但我看,似乎無法找到一個,但我不知道什麼搜索。
這是我使用的數據結構:
root/
|___ ...
| |___ pla1
| | |___ USER_ID_HERE: userName
| | |___ ...
| |___ pla2
| |___ USER_ID_HERE: userName
| |___ ...
肯定是在我火力數據庫有一個數組有這麼希望我可以找到如何對其進行訪問。
在此先感謝。
什麼'的console.log(results.val())'和'的console.log(結果[0] .VAL())'在控制檯中顯示? –