Tengo una función simple que tiene como objetivo iniciar sesión en un usuario a través del almacenamiento local, y luego una segunda que verifica si se puede encontrar al usuario (lo necesito separado porque necesito la verificación de inicio de sesión en otro lugar)
logInUser(user: IPerson): Boolean { localStorage.setItem(this.userID, JSON.stringify(user)); return this.isUserLoggedIn(); } isUserLoggedIn(): Boolean { return Boolean(localStorage.getItem(this.userID)); }Pero este código me parece malo porque en realidad no estoy verificando que logInUser haya hecho su trabajo, solo estoy llamando a otra función para esto. Estaba pensando en convertir esto en una Promesa de booleano y cadena .then() pero esto no funciona con setItem()
técnicamente, configurar algo en un almacenamiento no devuelve nada, por lo que no sé cómo verificar correctamente que lo hizo y detectar errores.
Si regresa sin excepción, puede asumir que funcionó. Si realmente lo desea, puede verificarlo dos veces con localStorage.getItem(this.userID) === JSON.stringify(user) y esa es la prueba definitiva.
Puede ocurrir una excepción si intenta, por ejemplo, establecer un setItem en un fragmento en el desbordamiento de la pila.