User _returnUserFromFirebase(FirebaseUser user) {
if(user==null) {
return null;
} else {
return User(id:user.uid);
}
}
Future<User> signInWithGoogle() async{
GoogleSignIn _signIn = GoogleSignIn();
GoogleSignInAccount _account= await _signIn.signIn();
if(_account!=null){
GoogleSignInAuthentication _authentication = await _account.authentication;
if(_authentication.idToken!=null && _authentication.accessToken!=null){
final AuthCredential _credential = GoogleAuthProvider.getCredential(idToken:
_authentication.idToken, accessToken: _authentication.accessToken);
final AuthResult _authResult = await _firebaseAuth.signInWithCredential(_credential);
return _returnUserFromFirebase(_authResult.user);
}
}
}
Эта функция имеет тип возврата «Future», но не заканчивается оператором возврата. Попробуйте добавить оператор возврата или изменить тип возврата на void. В чем проблема этого кода? Нужно ли еще добавить этот код после использования двух if? Он даже не распознает оператор return в коде.