【发布时间】:2017-10-19 00:59:06
【问题描述】:
我对如何重构代码以在没有嵌套承诺的情况下进行读写有点困惑。在编写一个对象时,如果该对象设置了一个标志,我想用新的计数更新它的“相关”对象。我有两个问题。
1) 从读取到写入的嵌套 Promise。 2) 我应该返回什么
exports.updateRelationshipCounts = functions.firestore
.document('masterProduct/{nfCode}').onWrite((event) => {
//on writing of record:
var newProduct = event.data.data();
if (newProduct.isGlutenFreeYN === 'Y') {
console.log('Gluten Free');
//Update GF count in the Brand Object:
var db = admin.firestore();
var docRef = db.collection("masterBrand").doc(newProduct.brandNFCode);
var doc = docRef.get()
.then(doc => {
doc.glutenFreeCount = doc.glutenFreeCount + 1
docRef.set(newProduct.brand)
.then(function () {
console.log("Document successfully written!");
})
.catch(function (error) {
console.error("Error writing document: ", error);
});
})
.catch(err => {
console.log('Error getting document', err);
})
};
});
此外,它还希望我返回一些东西……无?
【问题讨论】:
-
谁要你退货?
.onWrite()事件处理程序? doc here 中的.onWrite()处理程序均未显示任何返回的内容。
标签: node.js google-cloud-functions google-cloud-firestore