Recently I have been messing around with socket.io and found this interesting thing, that I can have emit function callback like this.
I start emitting on client side like this:
client.emit('eventToEmit', dataToEmit, function(error, message){
console.log(error);
console.log(message);
});
Then I can fire a callback from server-side like this:
client.on('eventToEmit', function(data, callback){
console.log(data);
callback('error', 'message');
});
Everything works fine with no errors, but I am interested if doing something like this is appropriate since I have not seen anything similar in the documentation or any example so far.
It's perfectly legal.
Those callbacks are called 'acknowledgement functions' and are summarily mentioned in the Wiki and described a bit more in detail on the NPM page ('Getting acknowledgements').
EDIT: more recent documentation can be found here.
来源:https://stackoverflow.com/questions/20337832/is-socket-io-emit-callback-appropriate