【发布时间】:2022-01-10 01:36:04
【问题描述】:
我正在 node.JS 中编写一个 Firebase 云函数,它从 Firebase Firestore 读取用户数据。 我无法将令牌值推入令牌数组并在函数末尾返回所有令牌。我的代码如下:
function getTokens(subscribers) {
return new Promise(async function (resolve, reject) {
const tokenArray = [];
subscribers.forEach(async (subscriber) => {
await firestore
.collection('users')
.doc(subscriber)
.get()
.then((user) => {
console.log("Getting user data for user: ", user);
const tokens = user.data().tokens;
if (tokens) {
tokens.forEach((token) => {
console.log("Adding token to token array"); // data is available here but does not push into tokenArray
tokenArray.push(token);
});
}
}).catch((error) => { console.error(error); reject(error); });
});
console.log("Token Array -- Final: ", tokenArray);
resolve(tokenArray);
});
};
【问题讨论】:
标签: javascript node.js firebase google-cloud-firestore google-cloud-functions