Я боролся с приведенной ниже функцией, чтобы в журналах Firebase не отображались операторы console.log()
. Если я уберу все, начиная с вызова db.collection
, появятся операторы console.log()
вверху, но как только я добавлю, что вызов db.collection
, none из операторов console.log()
отобразится в логах 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);
});
};