因此,我一直试图在firestore中查询集合,以返回满足特定条件的文档,并将结果保存在变量中,如下所示:
exports.getFriendsScreams = (req, res) => {
const user = req.user.handle;
let friendsList = [];
let friendsPost = [];
db.collection("users")
.doc(user)
.get()
.then(snap => {
friendsList = snap.data().friends;
friendsList.forEach(friend => {
db.collection("screams")
.where("handle", "==", friend)
.orderBy("createdAt", "desc")
.get()
.then(snapshot => {
snapshot.forEach(doc => {
friendsPost.push(doc.data());
});
});
});
return res.status(201).json({ friendsPost });
})
.catch(err => {
return res.status(500).json({error: err.message});
});
};
但是在 res.json 中返回给客户端的数据是 friendsPost ,但始终返回空,但是当我将 friendsPost 的值记录到控制台在每个块的第二个内返回正确的值,但在块外返回空,我想知道我在做什么错。