Flutter Future возвращает нулевое значение (Firebase) - PullRequest
0 голосов
/ 06 апреля 2020
Функция

asyn c (uploadUserDetail) возвращает нулевое значение.

     Future<dynamic> registerUser(String email, String password) async {
    try {
      var authResult = await _auth.createUserWithEmailAndPassword(
          email: email, password: password);
      if (authResult != null)
        var result = await databaseService.*uploadUserDetail*(authResult.user);
      print('$result');
      if (result is FirebaseUser) {
        // print('firebaseUser');
        return result;
      } else {
        //print('error');
        await signOut();
        return result;
      }
    } catch (e) {
      return (e);
    }
  }

Моя uploadUserDetail функция, после возврата объекта я получаю значение null в моей функции registerUser.

 Future<dynamic> uploadUserDetail(FirebaseUser userDetail)async{
 await ref.collection("users").document(userDetail.uid).setData(User(name: 'tosif',email: userDetail.email).toMap())
  .whenComplete((){

return userDetail;
  })
 .catchError((onError){
  // print('${onError.message} error messaes');
   return onError;});

   }
...