【问题标题】:How to check if data was successfuly written to firebase in flutter如何在颤动中检查数据是否成功写入firebase
【发布时间】:2020-08-15 13:41:40
【问题描述】:

我需要检查数据是否成功写入 Firestore,所以如果成功,我需要显示一个显示数据已写入的弹出窗口,或者如果数据未写入,我需要显示一个显示任务失败的弹出窗口,所以我应该使用未来的建设者有什么办法做到这一点

【问题讨论】:

    标签: firebase flutter dart google-cloud-firestore


    【解决方案1】:

    每个 Firestore 操作都是 Promise,所以它有 .then().catch() 方法来处理任务是成功还是失败。
    例如,你可以做这样的事情。

     firestoreInstance.collection("Users").document('123456').updateData({
     
      "username" : 'white_devil'
    
     }).then((result) {
       
       print("Success!");
    
     }).catch((error){
     
       print("Error!")
    
    });
    

    不仅在updateData() 上,您还可以在setData()add()get()getDocuments() 以及所有返回承诺的操作中使用这种情况。

    【讨论】:

    • 答案对您有所帮助,但只是为了将来的理解,如果我使用了未来的构建器,我可以完成相同的任务吗? /跨度>
    • 没有。 FutureBuilder 不建议使用此方法。但是还有另一种方法可以做到这一点。您可以使用snapshot.hasError 来检查future 是否有错误。进一步参考:youtube.com/watch?v=ek8ZPdWj4Qo
    【解决方案2】:

    您应该在返回的 Promise 上使用 catch 块来检查错误。如果 catch 没有触发,我们可以显示一个成功的警告。这是所有飞镖期货的运作方式。

    查看文档:https://dart.dev/guides/libraries/futures-error-handling

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-30
      • 1970-01-01
      • 2023-03-23
      • 2018-02-26
      • 2019-09-15
      相关资源
      最近更新 更多