【问题标题】:How does or how can you effectively handle errors using firebase?您如何或如何有效地使用 firebase 处理错误?
【发布时间】:2015-05-29 12:49:11
【问题描述】:

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

【问题讨论】:

    标签: javascript asynchronous firebase


    【解决方案1】:

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

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

    【讨论】:

    • 好的,所以尝试使用用户输入来捕获声明......我想我可以处理失败的操作(不会引发错误)在设定的时间后发送闭包到超时 -那应该是多长时间我不太确定......
    【解决方案2】:

    您需要创建一个处理错误的身份验证函数。请参阅下面的 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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-29
      • 2020-04-11
      • 2021-10-30
      • 2018-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      相关资源
      最近更新 更多