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

90
Visualizações
Rechazar promesa con cadena en función que tiene un tipo de retorno diferente

Tengo una función así:

 invoke(token: string): Promise<IUserDto> { return new Promise((reject, resolve) => { // Tokens are generally passed in the header of the request // Due to security reasons. let jwtSecretKey = process.env.JWT_SECRET_KEY; try { const verified = jwt.verify(token, jwtSecretKey!); if(verified){ resolve(verified); }else{ // Access Denied reject(); } } catch (error) { // Access Denied reject(); } }); }

Y estoy tratando de probarlo así:

 it('Validate user token use case', async () => { let jwtSecretKey = process.env.JWT_SECRET_KEY; let userData: IUserDto = { id: 'testid', firstName: 'firstName', lastName: 'lastName', username: 'username', email: 'test@test.com', password: 'testpassword', birthDate: new Date('0'), reports: [ new Report('report_id', 'report data', 0) ] }; let token = jwt.sign(userData, jwtSecretKey!); let validateUserTokenUseCase = new ValidateUserTokenUseCase(); let validated: IUserDto | String = await validateUserTokenUseCase.invoke(token); expect(validated.id).toBe(userData.id); })

No puedo hacer esto porque al rechazar la promesa en la función, no devuelve un objeto de IUserDto, devuelve cualquier cadena de error que puse en el rechazo.

He intentado definir el tipo de devolución como Promise<IUserDto | String> , pero mi IDE no lo detecta bien, no puedo ver, por ejemplo, validated.id cuando lo escribo en mi IDE, lo cual es molesto.

¿Hay alguna forma de rechazar este método sin definir el tipo de promesa como IUserDto | String ?

about 4 years ago · Juan Pablo Isaza
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