Is socket.io emit callback appropriate?

callback, emit, node.js, socket.io

Solution

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.

Problem

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.

Original source