You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中使用await调用Firebase get方法引发类型不匹配异常求助

问题解决:Firebase调用await时的类型异常

错误原因

核心问题是你没有调用get()方法——usercollection.doc(firebaseuid).get是方法的引用(类型为Function),并非返回的Future对象,自然不能用await修饰。必须加上括号执行方法,才能获取可被await的Future实例。

修正后的代码

var firebaseuid = FirebaseAuth.instance.currentUser?.uid;
// 关键修正:给get加上(),调用方法获取Future
DocumentSnapshot userdoc = await usercollection.doc(firebaseuid).get() as DocumentSnapshot<Object?>;
// 若需要获取实际查询结果,这里同样要加await和括号
var alldocs = await videoscollection.get();

额外建议

  • 注意firebaseuid可能为null的情况,建议增加非空判断避免后续报错:
if (firebaseuid != null) {
  DocumentSnapshot userdoc = await usercollection.doc(firebaseuid).get() as DocumentSnapshot<Object?>;
  var alldocs = await videoscollection.get();
  // 后续业务逻辑
} else {
  // 处理用户未登录的场景
}

内容的提问来源于stack exchange,提问作者Prescott Anderson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 16:03:11