Я пытаюсь заполнить массив некоторыми данными из Firebase, используя обещания. Вот структура БД:Пожар Firebase - Query.once failed: вызывается с 1 аргументом. Ожидает, по крайней мере, 2
- domain name(or something)
|--highscore
|--Foo: 50
|--Bar: 60
Код:
var arr=[];
highscoreRef.child('highscore').once('value').then(function(snapshot) {
snapshot.forEach(function(data) {
arr.push({playerName: data.key(), score: data.val()});
});
}, function(error) {
console.error(error);
});
Я получаю Uncaught Error: Query.once failed: Was called with 1 argument. Expects at least 2.
Означает ли это, что я должен добавить по крайней мере 2 свойства Foo и Bar? Ex. Foo = {playerName: name, score: 50}
Текущее расположение БД соответствует моим потребностям.
Я уверен, что я использовал обещание 'once()' без проблем. Дайте мне минуту, чтобы настроить jsfiddle/jsbin. –
Работает для меня: http://jsbin.com/qiranu/edit?js,console. Вы используете Firebase JavaScript SDK версии 2.4 или более поздней версии (там были введены обещания). –
Обычно я считаю это опечаткой, поэтому я прокомментирую (чтобы проголосовать за то, что она была подтверждена). Но вы можете быть правы, учитывая сообщение об ошибке, другие могут найти это. –