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

10-11 19:52