Ich versuche eine Funktion zu schreiben, die mir sagt, dass ein bestimmter Pfad ein Verzeichnis ist.
%Vor%Es wird jedoch niemals die Antwort gedruckt.
Wenn Pfadname existiert - ruft er die Funktion nicht auf.
Wenn es nicht existiert, wird eine Ausnahme generiert: ENOENT not a file or directory
.
Ich will nicht wissen, dass Pfadname existiert, aber ich möchte wissen, ob es ein Verzeichnis ist.
Kann mir jemand helfen, es zu reparieren?
Sie verwenden die synchrone Version, die keinen Rückruf verwendet. Es gibt einfach das Ergebnis zurück. Verwenden Sie also entweder das asynchrone Formular fs.stat(path, callback)
oder verwenden Sie das Synchronisierungsformular wie folgt:
Wie fs.stat () funktioniert?
Wenn Sie eine Callback / Async-Funktion verwenden möchten, verwenden Sie nicht die synchrone Version, verwenden Sie fs.stat ():
%Vor%Es gibt weitere Informationen zu fs.stat () . Sie können eine Menge Informationen über das Hauptobjekt erhalten:
%Vor%Ausgabe:
%Vor%Viele Elemente sind oft nutzlos für uns, ja. Aber hier ist die Bedeutung all dieser Variablen, laut diesem Artikel :
Sie können auch, wie in der nodeJS-Dokumentation , weitere Informationen erhalten :
%Vor%Über stats.isSymbolicLink () gibt es eine andere Funktion als fs.stat, genannt fs.lstat (), und hier ist der Unterschied zwischen ihnen:
stat
folgt Symlinks. Wenn ein Pfad angegeben wird, der ein Symlink ist, wird der Status des Ziels des Symlinks zurückgegeben. lstat
folgt nicht Symlinks. Wenn ein Pfad angegeben wird, der ein Symlink ist, gibt er den Status des Symlinks und nicht sein Ziel zurück.