Я видел счетчик приращений с облачными функциями, которые ссылаются на базу данных реального времени, но пока не Firefase Firestore.
У меня есть облачная функция, которая прослушивает новые документы:
exports.addToChainCount = functions.firestore
.document('chains/{name}')
.onCreate((snap, context) => {
// Initialize document
var chainCounterRef = db.collection('counters').doc('chains');
var transaction = db.runTransaction(t => {
return t.get(chainCounterRef).then(doc => {
// Add to the chain count
var newCount = doc.data().count + 1;
t.update(chainCounterRef, { count: newCount });
});
}).then(result => {
console.log('Transaction success!');
}).catch(err => {
console.log('Transaction failure:', err);
});
return true;
});
Я пытаюсь выполнить указанную выше транзакцию, но когда я запускаю firebase deploy
в терминале, я получаю эту ошибку:
error Каждое then () должно возвращать значение или выдавать обещание / всегда возвращать
Ошибка предустановки функций: Команда завершена с ненулевым кодом выхода1
Это моя первая попытка что-нибудь для node.js, и я не уверен, что написал это правильно.