我正在Dart中尝试一些WebGL,我创建了一个从单独的文件加载着色器的类,我想在对象准备好时抛出一个事件(函数),所以我可以继续我的应用程序知道我的着色器正确加载。有人知道一个简单的方法吗?
答案 0 :(得分:6)
一种方法是使用Future模式来实现这一目标:
Future<SomeType> initMyObject(){
final c = new Completer();
// Do my object init stuff
// and when it is complete:
c.complete(instanceOfSomeType);
// Return the Future object to any subscribers.
return c.future;
}
然后在其他地方你可以得到这样的通知:
initMyObject().then((SomeType t){
//executes when future completes
});