繁体   English   中英

错误类型“Null”不是“Timestamp”类型的子类型

[英]Error type 'Null' is not a subtype of type 'Timestamp'

我将当前日期设置为 firebase 并尝试检索它以用作参考。 但不知何故,结果有所不同。 有时我有一个 null 值,但有时没关系。 我试图添加一个延迟命令,但它仍然表现相同。 请帮忙。 谢谢!

        //set current date
        await db.collection(Paths.playersPath).doc(uid).set({
          'currDate': FieldValue.serverTimestamp(),
        }, SetOptions(merge: true));

        DocumentSnapshot<Map<String, dynamic>> documentSnapshot =
            await db.collection(Paths.playersPath).doc(uid).get();

        Timestamp currDate = documentSnapshot.data()!['currDate'];

编辑:我不太确定它是否已连接,但我有 2 个调用相同逻辑的方法。 一个在几乎总是失败的 HookWidget 下,另一个在 StatefulWidget 下,从来没有问题。

编辑:我真的不知道为什么。 但是当我将更新当前日期的事件移动到有状态小部件时,它现在可以工作了。 希望有人能澄清这一点。

你能试试这个吗:

db.collection(Paths.playersPath).doc(uid).get().then((value) => value.data();['currDate']);

如果仍然无法正常工作,您还可以尝试使用db.collection(Paths.playersPath).doc(uid).set进行链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM