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

161
Visualizações
Encadenamiento de promesas de Node.js

Soy nuevo en Node.js y puedo ejecutar estos comandos uno por uno usando promesas:

 let promise1 = new Promise(function (resolve, reject) { sftp.connect({ host: host, username: user, privateKey: fs.readFileSync(pemfile) }).then(() => { return sftp.get(remotePath, fs.createWriteStream(localPath)); //This writes from a remote file to a local file }).then(() => { sftp.end(); resolve(); }) .catch(err => { console.error(err.message); reject(err); }); }); await promise1; let promise2 = new Promise(function (resolve, reject) { fs.readFile(localPath, 'utf8', function (err, data) { if (err) { reject(err); } resolve(data); }); }); let data = await promise2;

Esto funciona, pero sé que no es la mejor manera de hacerlo. ¿Hay una mejor manera de hacer esto?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

await se puede usar directamente con métodos que devuelven promesas como sftp.connect , sftp.get , sftp.end para que pueda usarlo directamente y la función esperará hasta que se complete el paso. Solo fs.readfile no devuelve una promesa, pero podemos llamar a fs.promises.readFile() que devuelve la promesa y luego podemos usar await .

El código se puede simplificar:

 try { await sftp.connect({ host: host, username: user, privateKey: fs.readFileSync(pemfile) }) await sftp.get(remotePath, fs.createWriteStream(localPath)); await sftp.end(); let fileData = await fs.promises.readFile(localPath, 'utf8'); console.log(fileData); } catch (error) { console.error(error.message); }

Se ha agregado el bloque try-catch para capturar errores de cualquier acción.

over 4 years ago · Santiago Trujillo 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