flutter - 如何知道返回值是否是 future

标签 flutter dart future

我想知道从回调函数返回的变量(定义为返回动态变量)是否是将来的变量。目标是知道是否对其进行await

这是我想知道的示例代码:


dynamic returnedValue = callbackPassedFromArguments();
//the next line is what I want to know

if(isFuture(returnedValue))
{
 dynamic realReturnedValue = await returnedValue;
}
....

有没有可以代替我提到的isFuture psudoFunction的函数?

最佳答案

要测试 future 是否会发生,只需执行类型检查returnedValue is Future即可。

在这种情况下,我会这样做:

if (returnedValue is Future) {
 returnedValue = await returnedValue;
}

您也可以执行以下操作:

 returnedValue = await returnedValue;

结果是相同的,但是后面的代码将引入异步延迟,因为如果不是将来,它实际上会将returnedValue包装为将来,然后等待该将来。

关于flutter - 如何知道返回值是否是 future ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61492142/

相关文章:

flutter - 重构问题: Extract as widget/method/variable. ..有什么优缺点?

Flutter:向上移动对话框为软键盘腾出空间?

javascript - Dart 变量存储对值的引用

flutter - 摇树与 Flutter 中的选择性导入?

ios - 找不到框架 Pods_OneSignalNotificationServiceExtension

gradle - 如何在Flutter中修复 “Could not find or load main class org.gradle.launcher.daemon.bootstrap.GradleDaemon”?

ruby-on-rails - Flutter 无法正确连接到 Rails API

java - Finagle Future 对象,它们可重用吗?

java - future.isDone 即使任务完成也会返回 false

scala - Scala Futures如何与flatMap链接在一起?