3

我正在 Dart 中试验一些 WebGL,我创建了一个从单独文件加载着色器的类,我想在对象准备好时抛出一个事件(函数),所以我可以继续我的应用程序,知道我的着色器已正确加载. 有人知道这样做的简单方法吗?

4

1 回答 1

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
});
于 2012-07-22T03:12:11.343 回答