2011-05-17 5 views
5

Estoy tratando de entender el middleware de sesión de Connect, y me gustaría saber la diferencia entre: Session.regenerate() vs Session.reload().Conectar middleware de sesión - regenerar vs recargar

Específicamente, verifiqué los documentos, y no se dio ninguna explicación sobre lo que realmente hace la recarga de la sesión. Del mismo modo, también estoy confundido sobre el método Session.save(). Cualquier ayuda muy apreciada!

Respuesta

6

Al comparar el código fuente de las 2 funciones:

store.js

Store.prototype.regenerate = function(req, fn){ 
    var self = this; 
    this.destroy(req.sessionID, function(err){ 
    self.generate(req); 
    fn(err); 
    }); 
}; 

y

session.js

defineMethod(Session.prototype, 'reload', function reload(fn) { 
    var req = this.req 
    , store = this.req.sessionStore; 
    store.get(this.id, function(err, sess){ 
    if (err) return fn(err); 
    if (!sess) return fn(new Error('failed to load session')); 
    store.createSession(req, sess); 
    fn(); 
    }); 
    return this; 
}); 

lo leí como "obtener t la sesión si existe o crear un "vs" destruir el anterior y darme uno nuevo ".

+0

Ambos enlaces están ahora rotos. – TheSoundDefense

+2

@TheSoundDefense Acabo de editar la respuesta con los fragmentos de código de la ubicación actual del repositorio, esto debería ayudar a cualquiera que tropiece con esta respuesta – shafeen

Cuestiones relacionadas