Вызов асинхронного метода из конструктора компонента в Dart
Предположим, что для инициализации MyComponent в Dart требуется отправить HttpRequest на сервер. Возможно ли построить объект синхронно и отложить «реальную» инициализацию до возвращения ответа?
В приведенном ниже примере функция _init () не вызывается, пока не будет напечатано «done». Можно ли это исправить?
import 'dart:async';
import 'dart:io';
class MyComponent{
MyComponent() {
_init();
}
Future _init() async {
print("init");
}
}
void main() {
var c = new MyComponent();
sleep(const Duration(seconds: 1));
print("done");
}
Выход:
done
init