socket.io socket.set e socket.get – a cosa serve l’argomento callback?

Voglio solo colbind alcune variabili ai miei socket, ma non capisco i metodi .get e .set. Entrambi hanno un terzo argomento per una richiamata. Questo può essere omesso? Cosa serve?! La callback stessa è argomento di argomento?

La mia ipotesi migliore è che è lì per quando socket.io non sta usando l’archivio di memoria, ma sta salvando questa roba da qualche altra parte e ha bisogno di un errore durante la verifica della richiamata.

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

Sto usando socket.io 0.9.x

La funzione è definita in 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 e get sono asincroni. Il callback sarà chiamato quando queste operazioni saranno completate. Puoi ometterlo o puoi usarlo per qualsiasi scopo tu voglia, non solo per la gestione degli errori.

Le funzioni get e set sull’object socket sono state rimosse nella versione 1.x. Il modo corretto per archiviare e recuperare i valori ora è attraverso le proprietà sull’object socket, in questo modo:

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

Come visto sul codice di esempio dal repository ufficiale.