2015-03-19 7 views
2

Я экспериментирую с последней версией Firebase-Dart (0.5.0) и пытался реплицировать учебник по JavaScript Firebase Chat (https://www.firebase.com/tutorial/#example/chat) с использованием библиотеки Dart.Как нажимать в Firebase-Dart?

Я пытаюсь использовать push функции библиотеки следующим образом:

f = new Firebase('https://uniqueID.firebaseio-demo.com/'); 
f.push(value: { 
       'name': 'John', 
       'text': 'hello again' 
}); 

Но данные не сохраняются. Что я делаю не так?

+0

Как проверить, если он хранится? Я еще не использовал Firebase, так что это может быть глупый вопрос, но если вы проверите его с кодом, указанным выше, тогда значение может быть * еще не сохранено *. 'push' - это асинхронная операция, и вам нужно подождать, пока она не будет завершена. 'push' возвращает будущее, и вы можете зарегистрировать обратный вызов для вызова, когда' push' будет выполнен. 'f.push (...), затем ((v) {код, который зависит от завершения нажатия});' –

+0

Firebase позволяет вам войти в систему и использовать предоставленный URL-адрес, чтобы увидеть, как данные обновляются в реальном времени. Таким образом, даже если это асинхронная операция, вы знаете, что она не изменяется. – Hesh

+0

Я вижу. Тогда я не знаю. –

ответ

2

После просмотра в тестовый файл в firebase дротик обертка мерзавца репо Я нашел это:

test('push',() { 
    // TODO: actually validate the result 
    var pushRef = f.push(); 
    return pushRef.set('HAHA'); 
}); 

Таким образом, в целом, я думаю, что вам нужно сделать толчок, а затем установить его значение:

f = new Firebase('https://uniqueID.firebaseio-demo.com/'); 
var pushRef = f.push(); 
pushRef.set("{'name': 'John','text': 'hello again'}"); 

Пожалуйста, смотрите firebase тестовый пакет сценарий здесь: https://github.com/firebase/firebase-dart/blob/master/test/test.dart

+1

Voila! Это сработало. Я тоже видел файл обложки git dart, но почему-то я пропустил это. Благодарю. – Hesh

+0

@Hesh Добро пожаловать :) Рад, что я мог бы помочь! –

2

Для последней версии (v0.6.3) из dart version firebase библиотеки я использую сейчас, это очень простой в использовании Вдавите нажать (и использовать будущее, чтобы перейти к следующему действию)

firebaseRef = new Firebase('https://uniqueID.firebaseio-demo.com/'); 
firebaseRef.push(value: {"hi": "dart"}, onComplete: (err) { 
    print("err = ${err}"); 
}); 
Смежные вопросы