node.js - socket.io + 使用 'emit' 回调?

标签 node.js sockets socket.io

我的套接字出现问题,我的服务器端代码在 socket.emit 完成之前执行。这是一个片段:

admin.getTh(function(th){
   socket.emit('GPS', {gpsResults: data, thresholds: th, PEMSID: PEMSID, count: count});
   count++;
   toolbox.drawPaths(function(ta){
        console.log(ta);
   });
});

所以我需要做的是通过 socket.emit('GPS', ...) 在客户端执行的代码在 toolbox.drawPaths< 之前完全完成 发生了。我尝试像 socket.on(..., function(){...}) 那样在 emit 上抛出一个回调,但这似乎并没有成为 API 的一部分。有什么建议吗?

最佳答案

您可能想要做的一件事是在服务器上创建一个事件,该事件会在您的 GPS 完成时发出。

例如:

服务器

socket.on ('GPS', function (data) {
  // Do work

  // Done doing work
  socket.emit ('messageSuccess', data);
});

客户端

socket.emit('GPS', {gpsResults: data, thresholds: th, PEMSID: PEMSID, count: count});
socket.on ('messageSuccess', function (data) {
  //do stuff here
  toolbox.drawPaths(function(ta){
    console.log(ta);
  });
});

关于node.js - socket.io + 使用 'emit' 回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20378960/

相关文章:

node.js - 从我的nodejs服务器调用google apps脚本

node.js - linux (ubuntu) 上的 npm 安装错误

java - 如何使用Java监听某个端口?

c# - 显示传递对象的异步套接字示例?

javascript - 在 Promise 被拒绝后停止运行进程

angularjs - MongoDB _id 长度变为 25

node.js 为机器人聊天创建 'server side socket' (聊天脚本)

node.js - ExpressJS 的 socket.io 设置

MySQL服务器远程连接?

javascript - Socket.io 意外断开连接