我希望我的回调函数等到ClientProductLinks
被填满后再通过 res.send() 发送它。我确定有一个简单的解决方案,但我是 JS 新手,似乎无法弄清楚。
app.all('/:client/listproducts', async function(req, res) {
const client = req.params.client;
let clientProductLinks = [];
const clientRef = await db.collection(client).get();
const snapshot1 = await clientRef;
snapshot1.forEach(async function (prod) {
let prodRef = await db.collection(client).doc(prod.id).collection(prod.id).get();
let snapshot2 = await prodRef;
snapshot2.forEach(function (doc) {
const obj = {
docID: doc.id,
docData: doc.data()
};
clientProductLinks.push(obj);
});
});
res.send(clientProductLinks);
});
目前, res.send()ClientProductLinks
作为空数组发回。任何帮助是极大的赞赏。