首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用颤振从防火墙中检索特定的用户详细信息

如何使用颤振从防火墙中检索特定的用户详细信息
EN

Stack Overflow用户
提问于 2018-12-26 12:59:15
回答 1查看 5.7K关注 0票数 5

我是新来的,所以请容忍我。我使用电子邮件注册和我的应用程序,在注册时,一些额外的字段保存到消防局。我想检索那些要显示在用户配置文件上的字段。

保存到用户集合的字段的关键标识符是在注册时自动生成的用户id。

在我的小部件构建上下文中

代码语言:javascript
复制
child: new FutureBuilder<FirebaseUser>(
        future: _firebaseAuth.currentUser(),
        builder: (BuildContext context, AsyncSnapshot<FirebaseUser> snapshot) {
          if (snapshot.connectionState == ConnectionState.done) {
            String userID = snapshot.data.uid;
            _userDetails(userID);
            return new Text(firstName);
          }
          else {
            return new Text('Loading...');
          }
        },
      ),

我的get关联数据方法是:

代码语言:javascript
复制
Future<void> getData(userID) async {
// return await     Firestore.instance.collection('users').document(userID).get();
DocumentSnapshot result = await     Firestore.instance.collection('users').document(userID).get();
return result;

}

检索用户详细信息

代码语言:javascript
复制
void _userDetails(userID) async {
final userDetails = getData(userID);
            setState(() {
                  firstName =  userDetails.toString();
                  new Text(firstName);
});

}

我尝试将.then()添加到_userdetails中的set状态,但它说userDetails是一种空类型,不能分配给字符串。这里的当前代码块返回的是“未来”实例,而不是用户详细信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-26 14:15:14

您的方法被标记为async,因此必须等待结果:

代码语言:javascript
复制
        Future<void> _userDetails(userID) async {
        final userDetails = await getData(userID);
                    setState(() {
                          firstName =  userDetails.toString();
                          new Text(firstName);
        });
        }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53932445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档