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

170
Views
devolver valores de fs.readdir usando Promise en el nodo js/javascript
function fileType() { return new Promise((resolve, reject) => { let Fields = fs.readdir( path.resolve(__dirname, "access"), (err, files) => { if (err) { reject(err); return; } else { files.map((file) => { return file.split(".").slice(0, -1).join("."); }); } } ); resolve(Fields); }); } async function ambitious(data) { let fields = []; if (data.collections) { fields= await fileType(); } else { if(data.types.access){ fields.push(data.config.access); } else{ fields= await fileType(); } } return { data_name: data.name, data_access: data.config, data_encrypted: data.encrypt, data_fields: fields, }; }

Aquí estoy tratando de devolver el valor del campo de la declaración if y almacenarlo en data_fields

aquí el problema es que obtengo los valores de la declaración else, pero cuando trato de devolver el valor de la declaración If, se muestra indefinido

Como quiero leer todos los archivos que están presentes dentro del acceso y eliminar la extensión del archivo y como una matriz, quiero almacenarlo en data_fields

por ejemplo, si los archivos están presentes dentro del acceso

 let files=[ 'config.sql','admin.xml', 'user_manual.txt' ]

para ese propósito, utilicé split and slice para eliminar toda la extensión y devolver datos en formato de matriz en data_fields

No sé cómo devolver el valor de fs.readdir y almacenarlo en data_fields

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

0

Node ya ofrece una versión Promise de la API fs . No es necesario envolver la versión de devolución de llamada en una Promesa.

 import { promises } from "fs"; async function fileType () { let files = await promises.readdir(path.resolve(__dirname, "access")); return files.map( file => file.split(".").slice(0, -1).join(".")); }
about 4 years ago · Juan Pablo Isaza Report

0

Prueba así

 function fileType() { return new Promise((resolve, reject) => { fs.readdir( path.resolve(__dirname, "access"), (err, files) => { if (err) { reject(err); } else { resolve(files.map((file) => { // resolve here return file.split(".").slice(0, -1).join("."); })) } } ); // if you resolve you promise here, you resolve it before the readdir has been resolved itself. }); }
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!