У меня есть функция, которая сбрасывает ссылку при вызове.Он работает при обновлении только одной ссылки.
Это код для этой части функции:
if (streakVal !== 0) {
//reset
const uid = item.child('uid').val();
ref.child(uid).update({ streak: 0 }).catch(err => {
res.status(500).send(err);
});
}
Я также хочу обновить другую ссылку в другой части базы данных.Я включил его в ту же функцию, единственное отличие - местоположение ссылки.Затем часть выглядит следующим образом:
if (streakVal !== 0) {
//reset
const uid = item.child('uid').val();
ref.child(uid).update({ streak: 0 }).then(() => {
boardRef.child(uid).update({ score: 0 }).catch(err => {
res.status(500).send(err);
});
}).catch(err => {
res.status(500).send(err);
});
}
Первый фрагмент работает.Однако второе приводит к ошибке Function execution took 800 ms, finished with status code: 304
Мне интересно, почему это так и как это исправить.Возможно я не правильно структурирую это, поскольку я новичок в Узле.Я уверен, что это правильный путь к обеим ссылкам.Вот полная функция:
export const resetStreak = functions.https.onRequest((req, res) => {
const ref = db.ref('users');
const boardRef = db.ref('streakLeaderboard');
ref.once('value').then(snap => {
snap.forEach(item => {
const streakVal = item.child('streak').val();
const lastQuestTimestamp = item.child('lastQuest').val();
const today = new Date();
const d = new Date(lastQuestTimestamp);
if (sameDay(today, d) === false) {
if (streakVal !== 0) {
//reset
const uid = item.child('uid').val();
ref.child(uid).update({ streak: 0 }).then(() => {
boardRef.child(uid).update({ score: 0 }).catch(err => {
res.status(500).send(err);
});
}).catch(err => {
res.status(500).send(err);
});
}
}
})
}).catch(err => {
res.status(500).send(err);
});
Спасибо!