Можно ли указать firebase для кэширования пути без подписки 'on'?Доступ к кешу без 'on'
В настоящее время я делаю следующее, которая является неэффективной, космические отходы и некрасиво:
const ref = new Firebase(someUrl)
app.get('slow/:id', (req, res) => {
ref.child(id).on('value', snapshot => res.send(snapshot.val()))
})
const cache = {}
ref.on('child_added', snapshot => cache[snapshot.key()] = snapshot.val())
ref.on('child_changed', snapshot => cache[snapshot.key()] = snapshot.val())
ref.on('child_removed', snapshot => delete cache[snapshot.key()])
app.get('fast_wasteful_ugly/:id', (req, res) => {
const val = cache[req.params.id]
if (val !== undefined)
res.send(val)
else
ref.child(req.params.id).once('value', snapshot => res.send(snapshot.val()))
})
Хорошо. Нет-op-обработчик. Было бы неплохо иметь немного более прагматичный способ сделать это. – ronag