javascript - 如何在使用回调方法从firebase中删除数据之前将所有数据插入firebase?
问题描述
我已经使用js和firebase作为数据库构建了一个类似购物车的系统,交易成功后,我必须将数据从“Mycart”节点存储到“包历史”,完成后将所有数据插入包历史节点,我需要从我的购物车节点中删除数据。我面临的问题是,数据在我插入数据库之前被删除。我面临一些逻辑错误。这里是代码。
deleteNode(updateHistory); // after the transaction is success
function updateHistory() {
var database = firebase.database();
var ref = database.ref("mycart/" + uid);
ref.on('value', gotData, errData);
}
function gotData(data) {
// code to insert to PurchaseHistory
}
function error(err) {
//
}
function deleteNode() {
updateHistory();
var database = firebase.database();
var refremove = database.ref("mycart/" + uid);
refremove.remove();
}
解决方案
function gotData(data){
dataRef.set("I'm writing data", function(error) {
if (error) {
alert("Data could not be saved." + error);
} else {
alert("Data saved successfully.");
//remove here
}
})
}
推荐阅读
- angular - 修改Angular Material核心功能的正确方法是什么?
- firebase-cloud-messaging - Firebase FCM 通知添加操作按钮
- c# - 统一的 android 设备的蓝牙连接
- github - GitHub 中没有 SSH URL
- python - 尝试访问最后一个索引时出现索引超出范围错误
- python - 在词干提取时保持专有名词和大写单词
- wpf - 如何在绑定表达式中获取 Grid.Column 值
- python - 如何以最低的价格获得异物
- c# - 如何在不直接使用字符串的情况下在属性构造函数中指定属性路径
- ios - 使用 RxSwift 从 UITableViewCell 向 UIViewController 发送回调