asynchronous - 获取方法 Future<T> 的结果 flutter

标签 asynchronous flutter future

我有一个方法

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

我希望能够通过以下方式在其他模块中调用它:

if (class.getCurrentUser() != null) {
    // Do something
}

我似乎无法弄清楚如何获取实际值,而不是存储该值的 Future 对象。例如,在 C++ 中,我可以执行 future.get(),这将阻止并将值返回给我。有 flutter 的等价物吗?我是这门语言的新手,已经搜索了几个小时,但似乎找不到解决这个确切问题的方法。

最佳答案

从您的代码看来,您实际上只需要 1 个 await:

Future<FirebaseUser> getCurrentUser() async {
    return _firebaseAuth.currentUser();
}
if (await class.getCurrentUser() != null) {
    // Do something
}

关于asynchronous - 获取方法 Future<T> 的结果 flutter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55034827/

相关文章:

javascript - 了解 javascript 回调和形式参数

multithreading - Scala Future vs Thread 用于长时间运行的任务而没有结果

firebase - 有什么方法可以根据当前用户的UID将图像从Firebase加载到Flutter项目中

macos - Flutter MacOS 为 CMD 获取 LogicalKeyboardKey

rust - 在 actix-web 中处理异步处理程序中的错误最惯用的方法是什么?

asynchronous - vue加载组件_完全_动态

c# - 为什么在 Windows 服务中阻塞异步会导致死锁?

json - 无法在Flutter项目中初始化jsonResponse

scala - 为什么阻止 future 被认为是一种不好的做法?

c++ - 为什么我的线程调用函数对象而不是将其返回值分配给 packaged_task 的 future 对象?