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

142
Views
Verifique el entorno usandopromise.all()

Tengo que escribir el script de Node.js usando promise.all() que comprobará que el entorno tiene docker, git, npm, nvm y node.js. Para cada herramienta, escriba en stdout la versión de la herramienta. Si algunas herramientas no existen, escriba al mensaje stderr al respecto y finalice el proceso con el código de salida correcto.

Mi código se ve así:

 const util = require("util"); const exec = util.promisify(require("child_process").exec); async function getVersion(env) { try { const { stdout } = await exec(env); console.log(stdout); } catch (error) { console.error(error.stderr); } } (async function () { const fileVersion = [ "node --version", "docker --version", "nvm version", "git --version", "npm --version", ]; const results = await Promise.all(fileVersion); for (const element of results) { getVersion(element); } })();

Sé que en ese código promise.all() no está jugando ningún papel, no estoy familiarizado con promise.all() y, por favor, ¿alguien podría mostrarme un ejemplo de cómo hacerlo?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El método Promise.all() en realidad toma una iteración de promesas como entrada (en su código solo está pasando una matriz de cadenas) y devuelve una única promesa que se resuelve en una matriz de los resultados de las promesas de entrada pasadas al función. Esta promesa devuelta se resolverá cuando se hayan resuelto todas las promesas pasadas (o si el iterable pasado no contiene promesas como en su caso). También se rechazará inmediatamente después de que cualquiera de las promesas de entrada pasadas se rechace o las no promesas arrojen un error, y se rechazará con este primer mensaje de rechazo/error.

Si realmente desea beneficiarse del método Promise.all() , debe pasarle una serie de promesas en lugar de la serie de cadenas que está pasando en este momento.

 const util = require("util"); const exec = util.promisify(require("child_process").exec); async function getVersion(env) { try { const { stdout } = await exec(env); console.log("env is" + stdout); return stdout; } catch (error) { console.error(error.stderr); } } (async function () { const fileVersion = [ "node --version", "docker --version", "nvm version", "git --version", "npm --version", ]; const results = await Promise.all(fileVersion.map(x => getVersion(x))); console.log(results); })();
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!