Dartlang:如何实现回调方法

Nat*_*ood 5 callback dart

我在一个库中有一个类,该类具有事件发生时执行的方法“ onMessage”。OnMessage执行时,需要调用主应用程序中一个类的“回调”方法。我以为可以通过构造函数来完成,但是我不知道它是如何实现的。

编辑

在此版本中,当我尝试创建WebsocketService的实例wss时,会在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
 }
Run Code Online (Sandbox Code Playgroud)

Ale*_*uin 4

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

returnResults = incoming;
Run Code Online (Sandbox Code Playgroud)