socket.io socket.set和socket.get - 回调参数是什么?

时间:2012-04-28 02:34:29

标签: node.js socket.io

我只想将一些变量附加到我的套接字,但我不理解.get和.set方法。他们都有回调的第三个参数。这可以省略吗?它的用途是什么?!回调本身是否存在争议?

我最好的猜测是,当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;
};

2 个答案:

答案 0 :(得分:34)

套接字对象were removed in version 1.x上的getset函数。现在存储和检索值的正确方法是通过套接字对象上的属性,如下所示:

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

example code from the official repo.

所示

答案 1 :(得分:12)

setget是异步的。完成这些操作后将调用回调。您可以省略它,或者您可以将它用于您喜欢的任何目的,而不仅仅是错误处理。