Asynchronous 获取未来方法的结果<;T>;颤振

Asynchronous 获取未来方法的结果<;T>;颤振,asynchronous,flutter,future,Asynchronous,Flutter,Future,我有办法 Future<FirebaseUser> getCurrentUser() async { FirebaseUser user = await _firebaseAuth.currentUser(); return user; } 我似乎不知道如何获得实际值,而不是存储值的未来对象。例如,在C++中,我可以做 .将来。在颤振中有一个等价物吗?我不熟悉这种语言,已经搜索了几个小时,似乎找不到解决这个问题的方法。您必须等待方法调用中的结果,如下所示: Fire

我有办法

Future<FirebaseUser> getCurrentUser() async {
    FirebaseUser user = await _firebaseAuth.currentUser();
    return user;
}

我似乎不知道如何获得实际值,而不是存储值的未来对象。例如,在C++中,我可以做<代码> .将来。在颤振中有一个等价物吗?我不熟悉这种语言,已经搜索了几个小时,似乎找不到解决这个问题的方法。

您必须等待方法调用中的结果,如下所示:

FirebaseUser currentUser = await class.getCurrentUser();
if (currentUser != null) {
    // Do something
}

从您的代码来看,似乎您实际上只需要1
wait

Future getCurrentUser()异步{
返回_firebaseAuth.currentUser();
}
if(wait class.getCurrentUser()!=null){
//做点什么
}

在这种情况下,是否值得在原始方法中使用等待?看起来有点笨重,因为每次我调用这个方法时都必须这样做。@hromer遗憾的是,dart中的未来就是这样工作的。您需要两种等待。@dshukertjr请看man的回答,实际上代码不需要那么冗长。
FirebaseUser currentUser = await class.getCurrentUser();
if (currentUser != null) {
    // Do something
}