作为一个实验,我正在用 dart 和 easyrtc 尝试一些东西。我开始将它(通常通过 nodejs 服务器提供服务,在此处找到)移植到 dart 版本,这就是我用它制作的
编辑:我发现代码的哪一部分导致了错误。这是for循环无法运行的数据对象代理。通常,setRoomOccupantListener 函数将房间的名称和所有连接到房间的对等对象作为参数提供。我已经在普通 javascript 中制作了对象布局的屏幕截图,就像我在 chrome 中调试时的外观一样,在此处找到。
function connect() {
easyrtc.setRoomOccupantListener(convertListToButtons);
}
function convertListToButtons (roomName, data, isPrimary) {
clearConnectList();
var otherClientDiv = document.getElementById("otherClients");
for(var easyrtcid in data) {
var button = document.createElement("button");
button.onclick = function(easyrtcid) {
return function() {
performCall(easyrtcid);
};
}(easyrtcid);
var label = document.createTextNode(easyrtc.idToName(easyrtcid));
button.appendChild(label);
otherClientDiv.appendChild(button);
}
}
这是我在铬中调试飞镖代码时的屏幕截图
void connect() {
easyrtc.setRoomOccupantListener(convertListToButtons);
}
void convertListToButtons(roomName, data, isPrimary) {
clearConnectList();
var otherClientDiv = querySelector("#otherClients");
for (var easyrtcid in data) {
var button = document.createElement("button");
button.onClick.listen((event) {
performCall(easyrtcid);
});
button.appendText(easyrtc.idToName(easyrtcid));
otherClientDiv.append(button);
}
}
这是我得到的错误:
Class 'Proxy' has no instance getter 'iterator'.
NoSuchMethodError: method not found: 'iterator' Receiver: Instance of 'Proxy' Arguments: []
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:45)
#1 P...<omitted>...7)
我在这里遗漏了一些简单的东西还是某种不兼容?谢谢你。