2017-08-22 46 views
0

我新与firebase,所以我尝试创建一个简单的CRUD功能,我只能做到保存数据。我不会使用newPostKey方法,因为本网站上只有一个用户。我想更新user_name并使用plate_no值删除整个数据,但我的代码不工作。这里是我的代码:Firebase CRUD,问题与更新和删除

function save_user() { 
     var user_name = document.getElementById('user_name').value; 
     var plate_no = document.getElementById('plate_no').value; 

     var data = { 
      user_name: user_name 
     } 

     var updates = {}; 
     updates['/users/' + plate_no] = data; 
     firebase.database().ref().update(updates); 

     alert('The User is Created Successfully!'); 
     reload_page(); 
    } 

    function update_user() { 
     var user_name = document.getElementById('user_name').value; 
     var plate_no = document.getElementById('plate_no').value; 

     var data = { 
      user_id: plate_no, 
      user_name: user_name 
     } 

     var updates = {}; 
     updates['/users/' + plate_no] = data; 
     firebase.database().ref().update(updates); 

     alert('The User is Updated Successfully!'); 
     reload_page(); 
    } 

    function delete_user() { 
     var user_id = document.getElementById('plate_no').value; 

     firebase.database().ref().child('/users/' + plate_no).remove(); 
     alert('The User is Deleted Successfully!'); 
     reload_page(); 
    } 

    function reload_page() { 
     window.location.reload(); 
    } 
+0

更新()和remove()返回一个承诺,使用回调或再(),这样你就可以显示警报()动作完成后。 – guillefd

回答

0

更新()和remove()返回一个Promise,使用回调或再(),这样你就可以显示警报()的作用被确认完成后。

或更好,请使用.catch()获取错误,并查看错误原因。 即:

firebase.database().ref().child('/users/' + plate_no).remove() 
    .then(() => { 
     console.log('success!, show alert now'); 
    }) 
    .catch(err => { 
     console.log('errorcode', err.code); 
    });