2015-11-09 8 views
7

Wie kann ich diesen Rückruf durchführen? Ich habe die Dokumente gelesen, aber ich kann es aus irgendeinem Grund nicht herausfinden. Firebase-Update-Callback zur Erkennung von Fehlern und Fehlern

var ref = new Firebase("https://xxx.firebaseio.com/public/"+$scope.uid+"/shows/"); 
var blast = ref.child(show_title); 

blast.update({ 
"show_title": show_title, 
"show_image": show_image, 
"show_description": show_description, 
"show_email": show_email, 
"time": Firebase.ServerValue.TIMESTAMP 
}); 

blast.update("I'm writing data", function(error) { 
    if (error) { 
    alert("Data could not be saved." + error); 
    } else { 
    alert("Data saved successfully."); 
    } 
}); 

Antwort

9

Franks Lösung ist perfekt für Ihre Frage. Eine andere Option ist die Verwendung des Update-Versprechens. Dies ist besonders nützlich, wenn Sie mehrere Vorgänge zusammen ausführen, was in Firebase häufig der Fall ist.

hier ein Beispiel ein Versprechen mit

blast.update({ update: "I'm writing data" }).then(function(){ 
 
    alert("Data saved successfully."); 
 
}).catch(function(error) { 
 
    alert("Data could not be saved." + error); 
 
});

+3

Das in der Tat wird auch funktionieren. Beachten Sie, dass das [Firebase JavaScript SDK noch keine Zusagen unterstützt], wenn die Frage gestellt wurde (und ich geantwortet habe) (https://firebase.googleblog.com/2016/01/keeping-our- promises-and-callbacks_76.html). –

7

Ihr zweiter Aufruf von update() hebt diesen Fehler in der JavaScript-Konsole:

Uncaught Error: Firebase.update failed: First argument must be an object containing the children to replace.(…)

Das erste Argument für update hat ein Objekt sein, also:

blast.update({ update: "I'm writing data" }, function(error) { 
    if (error) { 
    alert("Data could not be saved." + error); 
    } else { 
    alert("Data saved successfully."); 
    } 
}); 

als Referenz, das ist die documentation for the update() function.