我的套接字出现问题,我的服务器端代码在 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/