2012-07-12 18 views

Trả lời

5

Firebase không tạo ra lỗi tiêu thụ của nhà phát triển vào lúc này (ngoại trừ trường hợp ngoại lệ được ném cho các mục nhập không hợp lệ). Các hoạt động Firebase hiện tại được đảm bảo để thành công hoặc không bao giờ kích hoạt sự kiện. Trong trường hợp các sự cố kết nối mạng, Firebase sẽ không kích hoạt sự kiện đơn giản. Đây là hành vi mong đợi, vì Firebase được thiết kế để hoạt động ở chế độ ngoại tuyến và nó sẽ tự động đưa bạn đến tốc độ khi kết nối đã được thiết lập lại.

Lưu ý rằng trong tương lai, chúng tôi sẽ phát hiện lỗi vi phạm bảo mật và có thể là các loại lỗi khác. API để bắt và xử lý các lỗi này chưa được viết.

+0

ok, vì vậy hãy thử bắt xung quanh tuyên bố với người dùng nhập vào ... tôi đoán tôi có thể xử lý một hoạt động thất bại (mà không nâng cao một lỗi) gửi đóng cửa để một thời gian chờ sau một khoảng về thời gian - tôi phải không chắc chắn bao lâu ... – Reinsbrain

1

Bạn cần tạo hàm xác thực xử lý lỗi. Xem jsFiddle bên dưới để biết ví dụ tuyệt vời.

function initAuth(ref) { 
     return new FirebaseSimpleLogin(ref, function (err, user) { 
      // if there is an error then display it 
      if (err) { 
       displayError(err); 
      } else if (user) { 
       // we only want to log people in through the email/password provider 
       if(user.provider !== 'password') { 
        auth.logout(); 
       } 
       else { 
        // logged in! 
        uid = user.uid; 
        // save the user to our firebase 
        ref.child(user.uid).set({ 
         id: user.id, 
         uid: user.uid, 
         email: user.email 
        }); 
        // switch over the the user info screen 
        switchView('userInfo'); 
       } 
      } else { 
       // logged out! 
       console.log('not logged in'); 
      } 
     }); 
    } 

http://jsfiddle.net/firebase/wPBj5/embedded/result,js/

Các vấn đề liên quan