我想知道从回调函数返回的变量(定义为返回动态变量)是否是将来的变量。目标是知道是否对其进行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/