firebase中的错误处理?如何获得回复状态?

时间:2018-01-09 19:52:28

标签: javascript firebase firebase-realtime-database

最近在向我的firebase数据库发送请求时实施了验证。它工作正常,但我正在努力处理错误。如果将数据发送到firebase时出现了一些错误,我想向用户显示由于他的请求中缺少密钥而导致他无法发布数据(他错过了表单中的某些字段)。

什么是重要,如果出现问题我能够发现错误:

users.set(values, (err) => {
  if (err) {
    console.log(err);
  }

以下是我在控制台中获得的内容: enter image description here

Okey我得到了错误,但它并没有真正有用......我的意思是,它很有帮助,但对我来说,不是为了用户。老实说,我希望得到一些具有状态和错误的正文的对象。但在这里我得到了...我不知道那是什么,一个错误对象?

:我如何区分可能的错误?我能以某种方式获得该响应的状态吗?

所以我可以在我的组件中使用它:

users.set(values, (err) => {
  if (err) {
    if (err.status == 401) {
      alert('You didnt fill all the fields in the form!');
    } else if (err.status == 404) {
      alert('Something else went wrong...');
    }
  }

谢谢:)

1 个答案:

答案 0 :(得分:1)

Firebase实时数据库没有您可以检查的错误代码。只有一种类型的错误,这违反了服务器上的安全规则。当安全规则触发SDK中的错误时,无法确定违反了哪一个或哪些条件。 SDK不是为最终用户提供有用的消息而设计的 - 它旨在帮助您将数据放入数据库。您如何选择与用户互动完全取决于您。

如果你想检查错误,你必须自己做。如果要在服务器上完成错误检查,请使用Cloud Functions使端点调用以处理要添加的数据。