socket.io +使用“发射”与callback?

我有我的套接字问题,在我的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发生之前完全完成。 我试图抛出一个callback像你会socket.on(..., function(){...})但似乎并不是API的一部分。 有什么build议么?

你可能想要做的一件事就是在GPS完成时在服务器上创build一个事件。

例如:

服务器

 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); }); });