How do I make this call back work? I have read the documents but I just cant figure it out for some reason?
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.");
}
});
Frank's solution is perfect for your question. Another option is to use the update promise. It's particularly useful if you're doing a bunch of operations together which is often the case in Firebase.
here's an example using a promise
blast.update({ update: "I'm writing data" }).then(function(){
alert("Data saved successfully.");
}).catch(function(error) {
alert("Data could not be saved." + error);
});
Your second call to update()
raises this error in the JavaScript console:
Uncaught Error: Firebase.update failed: First argument must be an object containing the children to replace.(…)
The first argument to update
has to be an object, so:
blast.update({ update: "I'm writing data" }, function(error) {
if (error) {
alert("Data could not be saved." + error);
} else {
alert("Data saved successfully.");
}
});
For reference, this is the documentation for the update()
function.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With