Flutter 错误:类型为';未来';can';不能分配给类型为';SocketIO';
我正在尝试创建一个socket io应用程序,我正在使用Flutter 错误:类型为';未来';can';不能分配给类型为';SocketIO';,flutter,dart,socket.io,Flutter,Dart,Socket.io,我正在尝试创建一个socket io应用程序,我正在使用adhara\u socket\u io。我在pub.dev站点上添加了示例中的代码,但出现了一个错误。代码如下: SocketIOManager manager = SocketIOManager(); SocketIO socket = manager.createInstance('http://192.168.1.2:7000/'); // I get the error here socket.onConnect((data){
adhara\u socket\u 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”分配给参数类型
“袜子选项”
我做错了什么,我该如何修复它?我打赌这个家伙manager.createInstance会返回一个未来,所以你应该将wait放在它前面,等待未来得到解决。大概是这样的:
SocketIO socket = await manager.createInstance('http://192.168.1.2:7000/');
如果此代码位于函数内部,则应将此函数标记为异步谢谢!!你知道我需要在服务器上运行什么吗?或者我需要一台没有任何路由的服务器吗?抱歉,Jessica,在这一点上无法帮助您,但我相信这不再是一个令人困惑的问题。谢谢您提供的这个代码片段,它可能会提供一些有限的、即时的帮助。通过展示为什么这是一个很好的问题解决方案,A将极大地提高它的长期价值,并将使它对未来有其他类似问题的读者更有用。请在您的回答中添加一些解释,包括您所做的假设。
//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();
}