socket.io socket.set和socket.get – 什么是callback参数?

我只是想附加一些variables到我的套接字,但我不明白.get和.set方法。 他们都有callback的第三个参数。 这可以省略吗? 这是什么?! callback本身是否有参数?

我最好的猜测是,当socket.io没有使用内存存储,而是将这个东西保存在其他地方,并需要一个错误检查callback。

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; }; 

setget是asynchronous的。 这些操作完成后,callback将被调用。 你可以忽略它,或者你可以把它用于你喜欢的任何目的,而不仅仅是error handling。

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

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

正如从官方回购示例代码中看到的。