как узнать, является ли возвращаемое значение будущим или нет - PullRequest
1 голос
/ 29 апреля 2020

Я пытаюсь узнать, является ли возвращаемая переменная из обратного вызова, которая определена для возврата динамич c, будущим или нет. Цель состоит в том, чтобы знать, await это или нет.

вот пример кода того, что я хочу знать:


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

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

есть ли функция, которая может заменить упомянутую мною isFuture psudoFunction?

1 Ответ

0 голосов
/ 29 апреля 2020

Чтобы проверить, является ли что-то будущим, просто выполните проверку типа returnedValue is Future.

В этом случае я бы сделал:

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

Вы можете также просто сделайте:

 returnedValue = await returnedValue;

Результат тот же, но последний код вводит асинхронную задержку, потому что он фактически оборачивает returnedValue в будущее, если это не будущее, а затем ожидает, что будущее.

...