【发布时间】:2016-08-13 14:38:18
【问题描述】:
假设在 Dart 中初始化 MyComponent 需要向服务器发送一个 HttpRequest。是否可以同步构造一个对象并将“真正的”初始化推迟到响应返回?
在下面的示例中,在打印“done”之前不会调用 _init() 函数。有办法解决吗?
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
【问题讨论】:
-
你可以使用静态异步方法吗?
-
如果不使用'await',它应该如何等待?
标签: asynchronous constructor dart