Dartlang:如何实现回调方法

时间:2014-03-15 21:03:42

标签: callback dart

我在库中有一个类,它具有在事件发生时执行的'onMessage'方法。 OnMessage在执行时需要调用属于主应用程序中的类的“回调”方法。我假设这将通过构造函数完成,但我无法弄清楚它是如何实现的。

修改

在这个版本中,当我尝试创建一个WebsocketService实例时,我在main.dart中收到一条警告。

 // in library class - no warnings

 Object returnResults;

 WebsocketService(Object callback()) {
   returnResults = callback;
 }


 void onMessage(data) {
   var json = JSON.decode(data);
   var echoFromServer = json['response'];
   print("Received message: $echoFromServer");
   returnResults(echoFromServer); // declared 'incoming' in main.dart
 }




 // +++  in main.dart ++++++++
  WebsocketService wss;

  class TestAsynchWS {

    TestAsynchWS() {  // *** Dart Editor warning here
    // 0 positional arguments expected but 1 found
      wss = new WebsocketService(incoming);
    }

 void incoming(echoFromServer) {
 // code
 }

1 个答案:

答案 0 :(得分:3)

假设可以在库中设置returnResults,您可以使用:

returnResults = incoming;