Flutter 如何知道返回值是否是未来值
我试图知道从回调返回的变量(定义为返回动态)是否是未来变量。目标是知道是否等待它 以下是我想知道的示例代码:Flutter 如何知道返回值是否是未来值,flutter,dart,future,Flutter,Dart,Future,我试图知道从回调返回的变量(定义为返回动态)是否是未来变量。目标是知道是否等待它 以下是我想知道的示例代码: dynamic returnedValue=callbackPassedFromArguments(); //下一行是我想知道的 如果(isFuture(返回值)) { 动态realReturnedValue=等待returnedValue; } .... 是否有一个函数可以替换我提到的isFuturepsudo函数?要测试某个东西是否是未来的,只需执行类型检查returnedVal
dynamic returnedValue=callbackPassedFromArguments();
//下一行是我想知道的
如果(isFuture(返回值))
{
动态realReturnedValue=等待returnedValue;
}
....
是否有一个函数可以替换我提到的
isFuture
psudo函数?要测试某个东西是否是未来的,只需执行类型检查returnedValue is future
在这种情况下,我会:
if(返回值为未来值){
returnedValue=等待returnedValue;
}
你也可以这样做:
returnedValue=等待returnedValue;
结果是相同的,但后一个代码将引入异步延迟,因为它实际上将
返回值
包装到未来中,如果它不是未来,则等待该未来。要测试某个东西是否是未来,只需执行类型检查返回值是未来
在这种情况下,我会:
if(返回值为未来值){
returnedValue=等待returnedValue;
}
你也可以这样做:
returnedValue=等待returnedValue;
结果是相同的,但后一个代码将引入异步延迟,因为它实际上将
returnedValue
包装到未来中,如果它不是未来,则等待该未来。答案是future.value,它完全忽略它得到的参数是值还是未来。这正是我所需要的。Future.value
是Future
的构造函数。它不会告诉您现有的对象
是否是未来
。要回答您最初的问题,您可以使用returnedValue is Future
。或者无条件地等待返回值。答案是Future.value,它完全忽略它得到的参数是值还是未来。这正是我所需要的。Future.value
是Future
的构造函数。它不会告诉您现有的对象
是否是未来
。要回答您最初的问题,您可以使用returnedValue is Future
。或者无条件地等待返回值。