Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  2 5096
Hei.
Skal ha en funksjon som returnerer alle filene i mappen.
Den fungerer i og for seg, men får ikke med meg data ut.

Kode

function getFilesInFolder(folder){
    const directoryPath = path.join(__dirname,folder); 
    var filelist = fs.readdir(directoryPath, function (err, files) {
        //handling error
        if (err) {
            console.log('Unable to scan directory: ' + err);
            return 'Error';
        } 
        //listing all files using forEach
        var arr =[];
        files.forEach(function (file) {
            // Do whatever you want to do with the file
            console.log(file);
            arr.push(file);
        });
        return arr;
    });
    console.log("fl " + filelist);
    return filelist;
}
Console log blir som følger.
fl undefined
disk.json

Regner med at det kommer av at ting skjer async her , i og med at disk.json kommer etter undefined , men forstår ikke hvordan jeg løse det.

Kaizen
Må filene leses inn asynkront? Hvis ikke kan du bare bruke følgende

Kode

fs.readdirSync(directoryPath, function (err, files))
istedenfor det du har på linje 2:

Kode

fs.readdir(directoryPath, function (err, files))
Kaizen's Avatar
Trådstarter
Takker så mye. Det løste hele problemet.
Sett meg blind. Sier jo selv hva som er problemet , men ser det ikke i koden.
Arg.

Kp til Juicekongen