Синхронный способ проверить, завершено ли Future

Есть ли синхронный способ проверить, завершено ли Future в Dart?

Ваше здоровье!


person Théo Champion    schedule 21.10.2019    source источник
comment
Такой функционал не реализован.   -  person mezoni    schedule 21.10.2019
comment
Неа. Вместо этого вы могли бы использовать Completer. Другой альтернативой может быть использование вместо этого FutureOr. Future и заставить потребителей проверять тип. Однако ни то, ни другое не поощряется.   -  person jamesdlin    schedule 22.10.2019


Ответы (1)


No.

Нет преднамеренного способа синхронно проверить, завершилось ли будущее.

Вы, очевидно, можете отслеживать сами:

Foo result = null;
fooFuture.then((value) { result = value; });
...
/// later
if (result != null) ...

Это по-прежнему работает только после первой микрозадачи, потому что ваш обратный вызов не будет вызван раньше.

person lrn    schedule 22.10.2019