【问题标题】:In Angular (using angularfire2 and typescript) how do you get types on errors thrown when using firestore?在 Angular(使用 angularfire2 和 typescript)中,如何获取使用 firestore 时抛出的错误的类型?
【发布时间】:2018-02-23 13:51:43
【问题描述】:

Angularfire2 使得使用 firestore 变得很容易。但是我找不到任何关于如何为抛出的错误输入类型的文档?

例如,您可以使用以下命令删除文档:

return this.itemsCollection.doc(idOfItem).delete();

这会返回一个承诺。当/如果失败,我如何获取错误代码的类型?

我想我必须对某事进行投射?

我尝试阅读 firebase.google.com 上的文档,并认为我在这里找到了 ref 文件:https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/FirebaseFirestoreException.Code

但是我如何转换错误以便在打字稿中输入内容?

【问题讨论】:

  • 您在问题中链接的文档是 Android SDK 参考。我认为this 是您想要的。所有错误代码都是字符串。
  • 感谢您的链接 - 它有效!现在我只是想让相应的重试策略在 rxjs 中工作 - 但这是另一个主题:)

标签: firebase google-cloud-firestore angularfire2


【解决方案1】:

所以我发现你可以这样做:

import * as firebase from 'firebase';

this.itemsCollection.doc(idOfItem).delete()
.catch(err) => {
    const error = err as firebase.FirebaseError;
    // You can now check against errors from the documentation
    //  https://firebase.google.com/docs/reference/js/firebase.firestore.FirestoreError
    if (error.code === 'permission-denied') {
       console.log('The user does not have access to this');
    }
}

代码是一个字符串,所以我不知道这些类型是否有很大的优势,但很好地回答我自己的问题:)

【讨论】:

    猜你喜欢
    • 2018-09-09
    • 2020-08-31
    • 1970-01-01
    • 2021-08-30
    • 2018-08-29
    • 2020-10-21
    • 2017-01-18
    • 2021-05-26
    • 2019-10-15
    相关资源
    最近更新 更多