FileSystemDirectoryEntry: removeRecursively() Methode

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, kann sie bereits aus den relevanten Webstandards entfernt worden sein, befindet sich im Prozess der Entfernung oder wird nur aus Kompatibilitätsgründen beibehalten. Vermeiden Sie die Verwendung und aktualisieren Sie gegebenenfalls bestehenden Code; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu treffen. Beachten Sie, dass diese Funktion jederzeit nicht mehr funktionieren kann.

Kein Standard: Diese Funktion ist nicht standardisiert und befindet sich nicht im Standardisierungsprozess. Verwenden Sie sie nicht auf Produktionsseiten, die auf das Web ausgerichtet sind: Sie wird nicht für alle Benutzer funktionieren. Außerdem kann es große Inkompatibilitäten zwischen Implementierungen geben und das Verhalten kann sich in Zukunft ändern.

Die Methode removeRecursively() der Schnittstelle FileSystemDirectoryEntry entfernt das Verzeichnis sowie dessen gesamten Inhalt, indem sie hierarchisch über den gesamten Unterbaum der nachfolgenden Dateien und Verzeichnisse iteriert.

Um eine einzelne Datei oder ein leeres Verzeichnis zu entfernen, können Sie auch FileSystemEntry.remove() verwenden.

Syntax

js
removeRecursively(successCallback)
removeRecursively(successCallback, errorCallback)

Parameter

successCallback

Eine Funktion, die aufgerufen wird, sobald der Verzeichnisentfernungsprozess abgeschlossen ist. Der Callback hat keine Parameter.

errorCallback Optional

Eine Funktion, die aufgerufen wird, wenn ein Fehler beim Versuch, den Verzeichnisunterbaum zu entfernen, auftritt. Sie erhält einen FileError, der den aufgetretenen Fehler beschreibt, als Eingabe.

Rückgabewert

Keiner (undefined).

Ausnahmen

Wenn ein Fehler auftritt und ein errorCallback angegeben wurde, wird dieser mit einem einzelnen Parameter aufgerufen: einem FileError-Objekt, das den Fehler beschreibt. Der FileError.code gibt an, welcher Fehler aufgetreten ist, wie folgt:

FileError.INVALID_MODIFICATION_ERR

Es wurde versucht, das Stammverzeichnis zu entfernen; dies ist nicht erlaubt.

FileError.NO_MODIFICATION_ALLOWED_ERR

Der Zustand des Dateisystems erlaubt keine Änderungen.

FileError.NOT_FOUND_ERR

Das durch FileSystemDirectoryEntry dargestellte Verzeichnis existiert nicht mehr.

FileError.NOT_READABLE_ERR

Das Verzeichnis ist nicht zugänglich; möglicherweise wird es von einer anderen Anwendung verwendet oder ist auf Betriebssystemebene gesperrt.

FileError.SECURITY_ERR

Das Verzeichnis konnte aus Sicherheitsgründen nicht entfernt werden. Mögliche Gründe sind:

  • Das Verzeichnis und/oder seine Inhalte sind möglicherweise unsicher, von einer Webanwendung aus darauf zuzugreifen.
  • Es werden zu viele Dateisystemaufrufe gemacht.
  • Weitere Sicherheitsbedenken von Seiten des Benutzeragenten oder des Betriebssystems.

Hinweis: Wenn Sie versuchen, ein Verzeichnis zu löschen, das eine oder mehrere Dateien enthält, die nicht entfernt werden können, oder ein Fehler beim Löschen mehrerer Dateien auftritt, werden möglicherweise einige Dateien nicht gelöscht. Sie sollten einen errorCallback bereitstellen, um dies zu überwachen und zu behandeln, möglicherweise durch einen erneuten Versuch.

Beispiele

js
directory.removeRecursively(
  () => {
    /* The directory was removed successfully */
  },
  () => {
    /* an error occurred while removing the directory */
  },
);

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch