Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

131
Visualizações
esperar en javascript para el bucle usando mangosta

¿hay algo mal con mi código? yo uso express y mangosta

 router.get('/c/:hashtoken', validateEmailToken, catchAsync(async(req,res)=>{ const hashtoken = req.params.hashtoken const hashtoken2 = createHash('sha256').update(hashtoken).digest('hex') const realHashTokens = await EmailToken.find({hashtoken2}) if(realHashTokens.length===0){ req.flash('error','Incorrect email verification token or Your account has been activated') return res.redirect('/') } const toDeleteTokenId = [] for(let realHashToken of realHashTokens){ let theUser = await User.findById(realHashToken.user) theUser.active = true await theUser.save() toDeleteTokenId.push(realHashToken._id) } for (let theId of toDeleteTokenId){ await EmailToken.findByIdAndDelete(theId) } req.flash('success','Success! Your account has been activated') return res.redirect('/') }))

la pagina nunca ha respondido. sigue cargando, pero el usuario se activa si verifiqué en la base de datos

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Establezca un controlador de errores o envuélvalo en try/catch. También agregue más declaraciones de depuración.

 router.get('/c/:hashtoken', validateEmailToken, catchAsync(async(req,res)=>{ try { console.log('request received') const hashtoken = req.params.hashtoken const hashtoken2 = createHash('sha256').update(hashtoken).digest('hex') console.log('finding token') const realHashTokens = await EmailToken.find({hashtoken2}) if(realHashTokens.length===0){ req.flash('error','Incorrect email verification token or Your account has been activated') return res.redirect('/') } const toDeleteTokenId = [] console.log('finding user') for(let realHashToken of realHashTokens){ let theUser = await User.findById(realHashToken.user) theUser.active = true await theUser.save() toDeleteTokenId.push(realHashToken._id) } console.log('deleting') for (let theId of toDeleteTokenId){ await EmailToken.findByIdAndDelete(theId) } console.log('completed - redirecting') req.flash('success','Success! Your account has been activated') return res.redirect('/') } catch(e) { console.error(e) // res.sendStatus(500) req.flash('error', e.message) return res.redirect('/') } }))
about 4 years ago · Juan Pablo Isaza Relatório

0

He resuelto el problema. el modelo de Usuario en este código tiene un middleware posterior a la mangosta y dentro de esa función, llamo a next() aunque no haya otro middleware posterior después de eso, por lo que el servidor responde con respuestas largas y la página sigue cargándose.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda