Есть ли синхронный способ проверить, завершено ли Future в Dart?
Ваше здоровье!
Есть ли синхронный способ проверить, завершено ли Future в Dart?
Ваше здоровье!
No.
Нет преднамеренного способа синхронно проверить, завершилось ли будущее.
Вы, очевидно, можете отслеживать сами:
Foo result = null;
fooFuture.then((value) { result = value; });
...
/// later
if (result != null) ...
Это по-прежнему работает только после первой микрозадачи, потому что ваш обратный вызов не будет вызван раньше.
Completer
. Другой альтернативой может быть использование вместо этогоFutureOr
.Future
и заставить потребителей проверять тип. Однако ни то, ни другое не поощряется. - person jamesdlin   schedule 22.10.2019