Ответ 1
set
и get
являются асинхронными. Обратный вызов будет вызван, когда эти операции будут завершены. Вы можете опустить его, или можете использовать его для любой цели, а не просто для обработки ошибок.
Я просто хочу привязать некоторые переменные к моим сокетам, но я не понимаю методы .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;
};
set
и get
являются асинхронными. Обратный вызов будет вызван, когда эти операции будут завершены. Вы можете опустить его, или можете использовать его для любой цели, а не просто для обработки ошибок.
Функции get
и set
в объекте сокета были удалены в версии 1.x. Правильный способ хранения и извлечения значений теперь осуществляется через свойства объекта сокета, например:
socket.on('set nickname', function (name) {
socket.nickname = name;
});
Как видно на пример кода из официального репо.