私はこの質問に対する答えを探しましたが、何もわかりません。socket.ioで非匿名メソッドを使用することはできません。 "listener"引数は関数でなければなりません。
私はWebマーケットに収めようとするJava開発者ですが、OOPとして多くのことが私を苦しめています。
io.sockets.on('connection', function (socket) {
console.log("Client has connected! id = [" + socket.id + "]");
socket.on('disconnect', onPlayerDisconnected(socket));
});
function onPlayerDisconnected(socket) {
socket.broadcast.emit('player_disconnected', socket.id);
console.log("Client has disconnected! id = [" + socket.id + "]");
}
ここでスタックトレースです:
events.js:219
throw new TypeError('"listener" argument must be a function');
^
TypeError: "listener" argument must be a function
私は無名関数を使用する場合、それは魔法のように動作します。問題は、(増加する)イベント数に反応すると、コードは維持できないということです。
コードを細かい関数に分解する方法はありますか?
ボーナスの質問:複数の.jsファイルでコードを分割することは可能ですか?
ありがとう、
node.js初心者。
を含む実際の機能を[この通過このコードに
onPlayerDisconnected(socket)
socket.on('disconnect', onPlayerDisconnected(socket));
の結果を渡す以下のコード](http://stackoverflow.com/questions/5797852/in-node-js-how-do-i-include-functions-from-my-other-files) –