Estoy creando un nuevo usuario y guardándolo en mi base de datos como se muestra a continuación:
const user= new User({ username: userId, password: pass, nameOfUser: user_name, emailOfUser: user_email ); user.save(); res.redirect("/redirectpage"); setTimeout(function(){ res.redirect("/"); },5000);Después de guardar al usuario, intento crear una página de redirección de cuenta regresiva. Se ve algo como:
Después de esto, el contador (de 5 segundos) llega a 0, tengo la intención de redirigir al usuario a la página de inicio de sesión, que es la ruta de inicio. Implementé esto a través de setTimeout. Pero, lamentablemente, mi aplicación falla y genera los siguientes errores: (** Nota: si comento res.redirect("/redirectpage"), no se muestran errores)
Este código intenta redirigir al usuario dos veces. Primero a /redirectpage y luego nuevamente a / . No puede hacer esto, porque llamar a res.redirect() la primera vez finaliza la solicitud, por lo que no puede enviar más datos como una segunda redirección. Puede solucionar esto moviendo el código de redirección al javascript del lado del cliente. Este código debería funcionar:
setTimeout(function() { window.location.replace("[full redirect url]"); }, 5000);Lea esta respuesta para obtener más información sobre la redirección desde el lado del cliente.