I'm having an issue with my sockets where my server side code is executing before my socket.emit
finishes. Here's a snippet:
admin.getTh(function(th){
socket.emit('GPS', {gpsResults: data, thresholds: th, PEMSID: PEMSID, count: count});
count++;
toolbox.drawPaths(function(ta){
console.log(ta);
});
});
So what I need to have happen is the code that gets executed on the client via socket.emit('GPS', ...)
to completely finish before toolbox.drawPaths
happens. I tried to toss a callback on the emit
like you would socket.on(..., function(){...})
but that doesn't seem to be part of the API. Any suggestions?
One thing you might want to do is create an event on the server that gets emitted when your GPS is completed.
For example:
Server
socket.on ('GPS', function (data) {
// Do work
// Done doing work
socket.emit ('messageSuccess', data);
});
Client
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);
});
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With