Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

185
Views
si la declaración no se ejecuta que incluye una función asíncrona

Tengo una función asíncrona dentro de una declaración if/else. Solo quiero verificar si hay un archivo en el cuerpo de la solicitud incluso antes de usarlo; de lo contrario, arroja un error. ¿Por qué está pasando esto? ¿Y hay algo mejor que pueda hacer para manejar el problema?

 //save image to cloudinary if (typeof(banner) !== undefined) { //this piece of code is always executing even if the image is not present in request or is undefined cloudinary.uploader.upload(banner, async function(error, result) { if (error) { return res.status(409).send("Something went wrong while uploading image") console.log(error) } article.banner = result.url const savedArticle = await article.save() return res.status(201).send(JSON.stringify({ redirect_uri: "/articles/" + savedArticle.slug })) }) } else { return res.status(400).send("Missing file") }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Su if externo no hace nada, porque typeof banner nunca será el valor undefined (aunque podría ser la cadena "undefined" ).

typeof devuelve una cadena con el nombre del tipo, por lo que if (typeof banner !== 'undefined') debería funcionar.

Sin embargo, lo más probable es que ni siquiera necesite typeof aquí: if (banner !== undefined) o incluso if (banner) también debería funcionar en su caso.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!