7

我一直在阅读 firebase 文档,它使用了非常多的异步代码。我想知道 firebase 是否在回调中抛出错误和/或传递错误数据。据我所知,文档没有提到它。提前感谢您的建议

4

2 回答 2

5

Firebase 目前不会产生开发人员可使用的错误(由于输入错误而引发的异常除外)。目前 Firebase 操作保证要么成功要么永远不会触发事件。在网络连接问题的情况下,Firebase 根本不会触发事件。这是预期的行为,因为 Firebase 设计为在离线模式下工作,一旦重新建立连接,它会自动让您加快速度。

请注意,将来我们将针对安全违规和可能的其他错误类型抛出错误。用于捕获和处理这些错误的 API 尚未编写。

于 2012-07-13T00:37:03.417 回答
1

您需要创建一个处理错误的身份验证函数。请参阅下面的 jsFiddle 以获得一个很好的示例。

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/

于 2014-08-02T21:38:57.617 回答