Конструктор-фабрика Future.microtask
Future.microtask(Создаёт будущее, содержащее результат вызова computation асинхронно с помощью scheduleMicrotask.
Если выполнение computation вызывает исключение, возвращаемое будущее завершается сброшенной ошибкой.
Если вызов computation возвращает Future, завершение созданного будущего будет ожидать завершения возвращённого будущего, а затем завершится с тем же результатом.
Если вызов computation возвращает значение, отличное от Future, возвращаемое будущее завершается этим значением.
Исходный код
factory Future.microtask(FutureOr<T> computation()) {
_Future<T> result = new _Future<T>();
scheduleMicrotask(() {
try {
result._complete(computation());
} catch (e, s) {
_completeWithErrorCallback(result, e, s);
}
});
return result;
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-async/Future/Future.microtask.html