2017-04-15 5 views
1

ドキュメントからイベントを発行して関数を渡すと、コールバックが表示されるはずです。デバッグすると、この匿名関数は決して実行されません。Socket.io socket.emit ack never runs

socket.emit('ferret', 'tobi', function (data) { 
    console.log(data); // never called 
}); 

しかし

socket.on('ferret', function(data){ 
     console.log(data); // data 
}) 
socket.emit('ferret'); 

ので、イベントリスナーが動作しますが、あなたがメッセージを発するときEMITコールバックは...

+1

socket.ioサーバーでのllback? – Sasang

答えて

3

コールバックは自動的にそれが持っている、呼び出されませんしません。サーバー側から呼び出されるので、サービス側で次のようなことをする必要があります。

socket.on('ferret', function(data, callback) { 
    //Process data 
    callback(newData) 
}