2017-05-31 16 views
0

私は部屋の管理(ロビー、マッチメイキング、部屋など)に基づいてアプリケーションを作成しようとしています。Socket.IOの承認とイベントの放出

私はsocket.ioでそれを行うことができました。

私の質問は、どのようなデザインパターンを使用すればよいかわかりません。

私はsocket.ioにackコールバックがあることに気付きました。私には驚き、それは良いと思いますが、パラメータを返すか、パラメータを指定してイベントを送信するかの違いはわかりません。

質問は、イベントを発行する上での賛否両論を使用して賛否両論は何ですか?

次のコードを使用して賛否両論何、のは、言ってみましょう:

socket.on('join', function (data, ack) { 
    // do the joining stuff here. 
    return ack(null, { response: 'goes_here' }); 
}); 

対イベント発光スタイル:ハンドラのコールバックを想定し

fn(err, res);

確認スタイルです:

socket.on('join', function (data, ack) { 
    // do the joining stuff here. 
    io.to(client_sid).emit('join_response', null, { response: 'goes_here' }); 
}); 

答えて

1

ご存じのように、ピンポンのことだけを考えれば、実際の違いはありません。私は注目すべき変更は、あなたが特定のイベントを確認できるようにすることです(イベントIDを渡して_responseイベントでそれを行うこともできると主張できますが)、応答を処理するためのより便利な方法を提供し、シンプルなコールバックスタイルの表記法を使用しています。最初の例は、よりクリーンでシンプルに見えます。

さらに、ある種のイベントに対して2つのイベントキーを作成することを避けることができます。この目的のために承認がなされたので、それを使用したり、別のイベントを作成したりしない本当の理由はありません。

+0

ありがとうございます!私はただの反応が「異なる意味」を持っているかどうか疑問に思っていましたが、それがうまくいけば、すべて良いと思っていました。 – Nika

関連する問題