获取方法 Future<T> 的结果 flutter
Getting the result of a method Future<T> flutter
我有一个方法
Future<FirebaseUser> getCurrentUser() async {
FirebaseUser user = await _firebaseAuth.currentUser();
return user;
}
我希望能够通过以下方式在其他模块中调用它:
if (class.getCurrentUser() != null) {
// Do something
}
我似乎无法弄清楚如何获取实际值,而不是存储该值的 Future 对象。例如,在 C++ 中,我可以只执行 future.get()
,这将阻止 return 对我的价值。有颤动的等价物吗?我是这门语言的新手,已经搜索了几个小时,但似乎找不到解决这个确切问题的方法。
您必须像这样在方法调用中等待结果:
FirebaseUser currentUser = await class.getCurrentUser();
if (currentUser != null) {
// Do something
}
从你的代码来看,你似乎只需要 1 await
:
Future<FirebaseUser> getCurrentUser() async {
return _firebaseAuth.currentUser();
}
if (await class.getCurrentUser() != null) {
// Do something
}
我有一个方法
Future<FirebaseUser> getCurrentUser() async {
FirebaseUser user = await _firebaseAuth.currentUser();
return user;
}
我希望能够通过以下方式在其他模块中调用它:
if (class.getCurrentUser() != null) {
// Do something
}
我似乎无法弄清楚如何获取实际值,而不是存储该值的 Future 对象。例如,在 C++ 中,我可以只执行 future.get()
,这将阻止 return 对我的价值。有颤动的等价物吗?我是这门语言的新手,已经搜索了几个小时,但似乎找不到解决这个确切问题的方法。
您必须像这样在方法调用中等待结果:
FirebaseUser currentUser = await class.getCurrentUser();
if (currentUser != null) {
// Do something
}
从你的代码来看,你似乎只需要 1 await
:
Future<FirebaseUser> getCurrentUser() async {
return _firebaseAuth.currentUser();
}
if (await class.getCurrentUser() != null) {
// Do something
}