我正在尝试创建一个套接字io应用,并且正在使用adhara_socket_io
。我将示例中的代码添加到了pub.dev站点上,但出现错误。这是代码:
SocketIOManager manager = SocketIOManager();
SocketIO socket = manager.createInstance('http://192.168.1.2:7000/'); // I get the error here
socket.onConnect((data){
print("connected...");
print(data);
socket.emit("message", ["Hello world!"]);
});
socket.connect();
我遇到两个错误。第一个:
不能将类型为'Future'的值赋给变量 输入“ SocketIO”。尝试更改变量的类型,或强制转换 右侧类型为“ SocketIO”
第二个:
不能将参数类型'String'分配给参数类型 'SocketOptions'
我在做什么错,如何解决?
答案 0 :(得分:0)
我敢打赌,这个人manager.createInstance返回一个Future,因此您应该在它前面放置一个wait,以等待将来得到解决。像这样:
SocketIO socket = await manager.createInstance('http://192.168.1.2:7000/');
如果此代码位于函数内部,则应将此函数标记为异步
答案 1 :(得分:0)
//i think like Javascript for using await just wrap your function with async keyword.
fn() async{
SocketIOManager manager = SocketIOManager();
SocketIO socket = await manager.createInstance('http://192.168.1.2:7000/');
socket.onConnect((data){
print("connected...");
print(data);
socket.emit("message", ["Hello world!"]);
});
socket.connect();
}