Подтвердить что ты не робот

Socket.io socket.set и socket.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;
};
4b9b3361

Ответ 1

set и get являются асинхронными. Обратный вызов будет вызван, когда эти операции будут завершены. Вы можете опустить его, или можете использовать его для любой цели, а не просто для обработки ошибок.