为什么我收到堆栈溢出错误?

Tha*_*ebe 5 firebase-realtime-database flutter

我收到 Stack Overflow 错误,但我似乎不知道出了什么问题。这是 Database 类帮助我获取 FirebaseDatabase 信息。

 import 'package:firebase_database/firebase_database.dart';
    import 'User.dart';
    import 'dart:async';


    class FireDatabase{
      FireDatabase();

      DatabaseReference userRef = FirebaseDatabase.instance.reference().child("users");
      DatabaseReference transactionsRef = FirebaseDatabase.instance.reference().child("transactions");
      User user = new User();


     getDatabaseUser(String cUid){
        userRef.orderByChild(cUid).once().then((DataSnapshot data){
          if (data.value!=null) {
            return data.value;
          } else {
            print("prints - database.dart : data.value of user is empty/null");
            return null;
          }
        },onError: (e){
          print("prints - database.dart " + e.toString());
          return null;
        });
        return null;
      }

      getDatabaseTransactions(String cUid) {
        transactionsRef.orderByChild("transactions").once().then((DataSnapshot data){
          if(data.value!=null) {
            return data.value;
          } else {
            print("prints - database.dart : data.value of user is empty/null");
            return null;
          }
        },onError: (e){
          print("prints - database.dart " + e.toString());
          return null;
        });
        return null;
      }

      getDatabaseTransaction(String cUid) {
        transactionsRef.orderByChild(cUid).limitToFirst(1).once().then((DataSnapshot data){
          if(data.value!=null) {
            return data.value;
          } else {
            print("prints - database.dart : data.value of user is empty/null");
            return null;
          }
        },onError: (e){
          print("prints - database.dart " + e.toString());
          return null;
        });
        return null;
      }

    }
Run Code Online (Sandbox Code Playgroud)

Men*_*elG 5

对我来说,问题是我有两个类,现在在两个类中,我以递归方式实例化彼此的类。

这是一个例子:

class Firestore{
  final auth = Auth();
}


class Auth{
  final fireStore = Firestore();
}

Run Code Online (Sandbox Code Playgroud)

正如您所看到的,每个类都在调用另一个类,这就是导致StackOverflow.