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

119
Visualizações
espera encadenada en métodos encadenados de clase

contexto: dos clases de javascript en archivos separados, cada una de las cuales integra un servicio externo diferente y se llama en un enrutador express.js.

Ver "código problemático" a continuación:

  • ruta
 routes.post('/aws', upload.single('file'), async (req, res) => { const transcribeParams = JSON.parse(req.body.options) const bucket = 'bucket-name' const data = await ( await ( await awsTranscribe.Upload(req.file, bucket)).CreateJob(transcribeParams)).GetJob() res.send(data) })

  • clase S3
 class AmazonS3 { constructor() { this.Upload = this.Upload } async Upload(file, bucket) { const uploadParams = { Bucket: bucket, Body: fs.createReadStream(file.path), Key: file.filename, } this.data = await s3.upload(uploadParams).promise() return this } }

  • transcribir clase
 class Transcribe extends AwsS3 { constructor() { super() this.CreateJob = this.CreateJob this.GetJob = this.GetJob } async CreateJob(params) { if(this.data?.Location) { params.Media = { ...params.Media, MediaFileUri: this.data.Location } } this.data = await transcribeService.startTranscriptionJob(params).promise() return this } async GetJob(jobName) { if(this.data?.TranscriptionJob?.TranscriptionJobName) { jobName = this.data.TranscriptionJob.TranscriptionJobName } this.data = await transcribeService.getTranscriptionJob({TranscriptionJobName: jobName}).promise() return this } }

problema : el problema es con las esperas encadenadas en el archivo del enrutador:
await ( await ( await awsTranscribe.Upload...
Sí, funciona, pero sería horrible que otra persona mantuviera este código en el futuro.
¿Cómo puedo hacer para que sea justo?
awsTranscribe.Upload(req.file, bucket).CreateJob(transcribeParams).GetJob() sin el .then?

PD: Para aquellos que se preguntan por qué el último código está entre comillas, lo estaba acusando de no tener el formato correcto.

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