Flutter 错误:类型为';未来';can';不能分配给类型为';SocketIO';

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){

我正在尝试创建一个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){
  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();
    }