Я бы хотел, чтобы моя функция обратного вызова подождала, пока 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
обратно как пустой массив.Любая помощь с благодарностью.