【发布时间】:2018-01-03 02:34:42
【问题描述】:
我的应用程序中有订单收集和产品收集。用户可以在其单个订单中拥有多个产品。我想要做的是计算通过产品集合读取的每个产品的数量,然后执行进一步的操作。以下是我目前得到的。
exports.myfunc = functions.firestore.document('collection/{collid}')
.onCreate(event => {
let data = event.data.data();
const products = data.products;
const prices = [];
_.each(products, (data1, index) => {
const weight = data1.weight;
const isLess = data1.isLess;
firebaseAdmin.firestore().collection('collection').doc(data1.productId).onSnapshot(data2 => {
let amount = weight === '1/2' ? data2.data().price1 : data2.data().price1 * weight;
amount += isLess ? 50 : 0;
prices.push(amount);
});
});
//Do some task after _.each with new total
});
但我无法在此处实现同步任务,因此我可以根据订单存储产品的实际金额并计算总金额以存储在文档中。
谁能告诉我我是如何实现上述场景的?我如何与promise 和callback 一起工作?
【问题讨论】:
标签: node.js firebase google-cloud-firestore angular5