我在库中有一个类,它具有在事件发生时执行的'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
}
答案 0 :(得分:3)
假设可以在库中设置returnResults
,您可以使用:
returnResults = incoming;