For-Loop- und Async-Callback in node.js?

Ich bin neu in JavaScript und node.js. Ich möchte eine Schleife durch ein Verzeichnis, und fügen Sie alle Datei-stat (keine weiteren Verzeichnisse) in ein array. Wie Sie unten sehen gibt es ein problem mit meinem code, da die callback-wahrscheinlich wird aufgerufen, nachdem die for-Schleife beendet ist, so dass die Verwendung der "ich"-variable in der callback-Methode wird nicht funktionieren. Aber wie sollte der code Aussehen, so dass die unten snippet funktioniert? Hat es etwas zu tun mit Verschlüssen?

Danke für die Hilfe!

    fs.readdir(SYNCDIR, function(err1, files) {
        var filesOnly = [];

        if(!err1) {

            for(var i = 0; i < files.length; i++) {

                var imgFilePath = SYNCDIR + '/' + files[i];
                fs.stat(imgFilePath, function(stat){

                    if (stat.isFile()){
                        filesOnly[i] = stat; //This will not be correct since the for-loop has finished
                    }
                });

            }
        }
    });

InformationsquelleAutor der Frage exkoria | 2011-09-01

Schreibe einen Kommentar