Chamando um método assíncrono do construtor de componentes no Dart
Vamos supor que uma inicialização do MyComponent no Dart exija o envio de um HttpRequest ao servidor. É possível construir um objeto de forma síncrona e adiar uma inicialização 'real' até que a resposta volte?
No exemplo abaixo, a função _init () não é chamada até que "concluído" seja impresso. É possível consertar isso?
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");
}
Resultado:
done
init