代码之家  ›  专栏  ›  技术社区  ›  Alex Ali

Flutter Firebase-如何将用户uid添加到文档

  •  0
  • Alex Ali  · 技术社区  · 4 年前

    我设法用以下代码获取uid:

    Future getCurrentUser() async {
      final FirebaseUser user = await _auth.currentUser();
      final uid = user.uid;
      print(uid);
      return uid.toString();
    }
    

    void addData(){
      databaseReference.collection(("ads"))
        .add({
          'category': '$category',
          'location': '$location',
          'subject': '$adName',
          'userId': '$userid',
      });
    }
    

    当我试图在类中定义变量userid时,会得到以下错误:

    错误:需要类成员。(在[hpxksa]处应为'u类成员)

    库/屏幕/添加_广告飞镖:59) 错误:在初始值设定项中只能访问静态成员。

    enter image description here

    1 回复  |  直到 4 年前
        1
  •  1
  •   Peter Haddad    4 年前

    getCurrentUser() 是异步的,因此它返回 Future ,您必须执行以下操作:

    void addData()async{
      String userid = await getCurrentUser();
      databaseReference.collection("ads").add({
          'category': '$category',
          'location': '$location',
          'subject': '$adName',
          'userId': '$userid',
      });
    }