2012-07-12 14 views

cevap

5

Firebase, şu anda geliştirici-tüketilebilir hatalar üretmemektedir (kötü girişler için atılan istisnalar hariç). Şu anda Firebase işlemlerinin başarılı olması veya hiçbir zaman etkinliği tetiklememesi garantilidir. Ağ bağlantısı sorunları olduğunda, Firebase yalnızca olayları tetiklemez. Firebase çevrimdışı modda çalışacak şekilde tasarlandığından ve bağlantı yeniden oluşturulduktan sonra otomatik olarak hızlandırmanızı sağlayacağından, bu beklenen bir davranıştır.

Gelecekte güvenlik ihlalleri ve diğer hata türleri için hatalar atacağımızı unutmayın. Bu hataları yakalamak ve işlemek için API henüz yazılmamıştır.

+0

Tamam, bu nedenle kullanıcı girişi ile bildirimleri etrafında yakalamak deneyin ... i kodların belirli bir zaman aşımı için kapanışları gönderme (bir hata yükseltmek değil) başarısız bir operasyon işleyebilir tahmin zaman - ne kadar uzun olmalıyım gerçekten emin değilim ... – Reinsbrain

1

Hataları işleyen bir auth işlevi oluşturmanız gerekir. Mükemmel bir örnek için aşağıdaki jsFiddle'a bakın.

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/

İlgili konular