Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
颤振(Dart)第二次异步firebase实时数据库调用始终返回;空";_Firebase_Flutter_Asynchronous_Dart_Firebase Realtime Database - Fatal编程技术网

颤振(Dart)第二次异步firebase实时数据库调用始终返回;空";

颤振(Dart)第二次异步firebase实时数据库调用始终返回;空";,firebase,flutter,asynchronous,dart,firebase-realtime-database,Firebase,Flutter,Asynchronous,Dart,Firebase Realtime Database,我是新手,来自iOS本地开发。我想进行两次Firebase实时数据库调用,第二次调用等待第一次调用的结果 目标是获得一个“activeSetup”,它保存在数据库中单独的树中。它包含RoleUID、TeamUID和组织UID。要获取这个活动设置的uid,我必须先进入另一个包含用户数据的树(每个用户可以有多个设置,但只有一个是活动的) 首先:进入UserRef=>从为用户保存的多个设置中获取ActiveSetupUID 第二步:使用获得的UID进入SetupRef并获取存储的值。放入“设置”模型并

我是新手,来自iOS本地开发。我想进行两次Firebase实时数据库调用,第二次调用等待第一次调用的结果

目标是获得一个“activeSetup”,它保存在数据库中单独的树中。它包含RoleUID、TeamUID和组织UID。要获取这个活动设置的uid,我必须先进入另一个包含用户数据的树(每个用户可以有多个设置,但只有一个是活动的)

首先:进入UserRef=>从为用户保存的多个设置中获取ActiveSetupUID 第二步:使用获得的UID进入SetupRef并获取存储的值。放入“设置”模型并返回

代码如下:

Future<Setup> getActiveSetup(String userUID) async {
    Setup resultSetup;
    DataSnapshot step1 = await _db
        .reference()
        .child("users")
        .child(userUID)
        .child("Setups")
        .once();
    Map<dynamic, dynamic> result = step1.value;
    String activeSetupKey;
    result.forEach((key, value) {
      if (value == "isActive") {
        activeSetupKey = key;
      }
    });
    DataSnapshot step2 = await _db
        .reference()
        .child("setups")
        .child(userUID)
        .child(activeSetupKey)
        .once();
    resultSetup = Setup(
        uid: activeSetupKey,
        organisationUID: step2.value["OrganisationUID"],
        teamUID: step2.value["TeamUID"],
        roleUID: step2.value["RoleUID"]);
    print(resultSetup);
  }
Future getActiveSetup(字符串userUID)异步{
设置结果设置;
DataSnapshot step1=等待_db
.reference()
.child(“用户”)
.child(userUID)
.child(“设置”)
.一次();
映射结果=step1.0值;
字符串设置键;
result.forEach((键,值){
如果(值==“isActive”){
activeSetupKey=key;
}
});
DataSnapshot step2=等待_db
.reference()
.child(“设置”)
.child(userUID)
.child(activeSetupKey)
.一次();
结果设置=设置(
uid:activeSetupKey,
OrganizationUID:step2.值[“OrganizationUID”],
teamUID:step2.value[“teamUID”],
roleUID:step2.值[“roleUID”]);
打印(结果设置);
}
这里的ResultSetup总是返回“Null”,我不知道我缺少了什么