首页 > 解决方案 > 如何在使用回调方法从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();
}

标签: javascriptfirebasefirebase-realtime-database

解决方案


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 
     }
   })
}

推荐阅读