我试图使用带有websockets /服务器发送事件的角度飞镖,并且找不到任何文档/示例(有一些用于angularJS但这对于这些事情看起来非常不同)。我试过的一些事情也没有用。
有谁知道怎么做?
以下是我尝试过的一个版本和错误:
@NgController (
selector: "ACdistribution",
publishAs : "dstbn")
class ACDstbnController{
List <WtdPres> distbn;
void updateDstbn(List<WtdPres> newdstbn){
distbn = newdstbn;
}
final dstbnsrc = new EventSource("../dstbns")
..onMessage.listen((event){
List wps = JSON.decode(event.data);
List <WtdPres> newdistbn = wps.map((wp) => new WtdPres.fromJson(wp));
updateDstbn(newdistbn);
});
}
我在pub build中遇到的错误是:
web/provingground.dart:55:5:
'updateDstbn' is only available in instance methods.
updateDstbn(newdistbn);
^^^^^^^^^^^
答案 0 :(得分:0)
对最终字段的初始化程序可以执行的操作存在限制。
您可以尝试将此代码放在构造函数
中var dstbnsrc;
ACDstbnController() {
dstbnsrc = new EventSource("../dstbns")
..onMessage.listen((event){
List wps = JSON.decode(event.data);
List <WtdPres> newdistbn = wps.map((wp) => new WtdPres.fromJson(wp));
updateDstbn(newdistbn);
});
}