【发布时间】:2019-04-05 23:05:03
【问题描述】:
我一直在努力解决下面的函数,但它的 console.log() 语句没有出现在 Firebase 日志中。如果我从db.collection 调用开始取出所有内容,顶部的console.log() 语句将显示,但是一旦我添加db.collection 调用,console.log() 语句中的 none 将显示在 Firebase 的日志中。
我对 JavaScript 不是很熟悉(我通常使用 Python 进行后端编程),所以这可能是 Promises 工作方式的问题。我现在正在研究这个。
知道发生了什么吗?
exports.purchaseItem = functions.https.onCall((data, context) => {
console.log('data:')
console.log(data)
let lbcCustomerStripeToken = data.lbcCustomerStripeToken
let lbcStoreId = data.lbcStoreId
let amount = data.amount
console.log('lbcCustomerStripeToken:')
console.log(lbcCustomerStripeToken)
console.log('lbcStoreId:')
console.log(lbcStoreId)
console.log('amount:')
console.log(amount)
let lbcFee = Math.round(amount * 0.02)
db.collection('stores').doc(lbcStoreId).get().then(lbcStore => {
if (!lbcStore.exists) {
console.log('No such product!');
} else {
console.log('Document data:', product.data());
}
console.log('storeInfo:')
console.log(lbcStore.data())
return {message: 'Success'}
})
.catch((error) => {
console.log(error);
});
};
【问题讨论】:
-
您可能需要使用stackdriver library。
标签: javascript node.js firebase google-cloud-functions