Firebase.ServerValue.TIMESTAMP не синхронизируется между слушателями и клиентом, который фактически добавляет данные
Вот самый простой пример из возможных:
var fb = new Firebase('https://xxxxxxxxxxx.firebaseio.com/test');
fb.limitToLast(1).on('child_added', function(snap) {
console.log('key', snap.key());
console.log('val', snap.val());
});
fb.push({
date_now: Firebase.ServerValue.TIMESTAMP
});
Если я открою две вкладки с помощью этого скрипта, та, которая на самом деле толкает данные получаетместный отметка времени в обратном вызове child_added и другой вкладке, которая просто слушает, получает правильную сгенерированную сервером. Насколько я понимаю, это сделано для того, чтобы исключить обратную передачу и сохранить пропускную способность.
Но для моей задачи это поведение недопустимо. Как я могу преодолеть это?
Это console.log от толкателя:
key -K59mrvEUhTaoNIQQoA4
val Object {date_now: 1449732570832}
и слушатели (равны данным сервера, увиденным на приборной панели):
key -K59mrvEUhTaoNIQQoA4
val Object {date_now: 1449732571759}