いくつかの変数をソケットにアタッチしたいのですが、.getメソッドと.setメソッドがわかりません。どちらにも、コールバックの3番目の引数があります。これは省略できますか?それはなんのためですか?!コールバック自体は引数に影響しますか?
私の推測では、socket.ioがメモリストアを使用していないが、このようなものを別の場所に保存していて、エラーチェックのコールバックが必要な場合に使用します。
socket.on('set nickname', function (name) {
socket.set('nickname', name, function (arguments) {
doSomethingMysterious();
});
私はsocket.io0.9.xを使用しています
関数はsocket.jsで定義されています
/**
* Stores data for the client.
*
* @api public
*/
Socket.prototype.set = function (key, value, fn) {
this.store.set(key, value, fn);
return this;
};
set
とget
は非同期です。これらの操作が完了すると、コールバックが呼び出されます。省略したり、エラー処理だけでなく、好きな目的に使用することもできます。
ソケットオブジェクト のget
およびset
関数は、バージョン1.x で削除されました。値を格納および取得する適切な方法は、次のように、ソケットオブジェクトのプロパティを使用することです。
socket.on('set nickname', function (name) {
socket.nickname = name;
});
公式リポジトリの サンプルコードに見られるように。