2017-08-22 111 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); 
    });