18

いくつかの変数をソケットにアタッチしたいだけですが、.get メソッドと .set メソッドがわかりません。どちらもコールバック用の 3 番目の引数を持っています。これは省略できますか?それはなんのためですか?!コールバック自体は引数を継承しますか?

私の最善の推測では、socket.io がメモリ ストアを使用していないが、これを別の場所に保存しており、エラー チェック コールバックが必要な場合に使用されます。

socket.on('set nickname', function (name) {
    socket.set('nickname', name, function (arguments) {
      doSomethingMysterious();
    });

socket.io 0.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;
};
4

2 に答える 2

35

socket オブジェクトのgetおよび関数は、バージョン 1.x で削除されました。値を格納および取得する適切な方法は、次のようにソケット オブジェクトのプロパティを使用することです。set

socket.on('set nickname', function (name) {
  socket.nickname = name;
});

公式レポのサンプルコードに見られるように。

于 2014-06-24T18:35:56.577 に答える
12

set非同期getです。これらの操作が完了すると、コールバックが呼び出されます。省略したり、エラー処理だけでなく、好きな目的で使用したりできます。

于 2012-04-28T12:16:57.190 に答える