FileSystemDirectoryEntry:removeRecursively() 方法
已弃用: 不再推荐使用此功能。尽管某些浏览器可能仍支持它,但它可能已从相关的 Web 标准中删除,或者正在被删除,或者仅出于兼容性目的而保留。避免使用它,并在可能的情况下更新现有代码;请参阅此页面底部的兼容性表以指导您的决策。请注意,此功能可能随时停止工作。
非标准: 此功能是非标准的,并且不在标准轨道上。请勿在面向 Web 的生产站点上使用它:它不会对每个用户都有效。实现之间也可能存在很大的不兼容性,并且行为将来可能会发生变化。
FileSystemDirectoryEntry
接口的方法removeRecursively()
删除目录及其所有内容,分层迭代其整个子树中的后代文件和目录。
要删除单个文件或空目录,您还可以使用FileSystemEntry.remove()
。
语法
removeRecursively(successCallback)
removeRecursively(successCallback, errorCallback)
参数
successCallback
-
目录删除过程完成后要调用的函数。回调函数没有参数。
errorCallback
可选-
如果在尝试删除目录子树时发生错误,则要调用的函数。接收一个
FileError
,其中包含发生的错误的描述作为输入。
返回值
无(undefined
)。
异常
如果发生错误并且指定了errorCallback
,则会使用单个参数调用它:一个FileError
对象,其中包含错误的描述。 FileError.code
指定发生了哪种类型的错误,如下所示
FileError.INVALID_MODIFICATION_ERR
-
尝试删除根目录;这是不允许的。
FileError.NO_MODIFICATION_ALLOWED_ERR
-
文件系统的状态不允许修改。
FileError.NOT_FOUND_ERR
-
由
FileSystemDirectoryEntry
表示的目录不再存在。 FileError.NOT_READABLE_ERR
-
目录不可访问;也许它正在被另一个应用程序使用或在操作系统级别被锁定。
FileError.SECURITY_ERR
-
由于安全原因,无法删除目录。可能的原因包括
- 目录和/或其内容可能不安全供 Web 应用程序访问。
- 正在进行过多的文件系统调用。
- 用户代理或操作系统提出的其他安全问题。
注意:如果您尝试删除包含一个或多个无法删除的文件的目录,或者在删除多个文件期间发生错误,则某些文件可能不会被删除。您应该提供errorCallback
来监视和处理此问题,也许可以通过重试。
示例
directory.removeRecursively(
() => {
/* The directory was removed successfully */
},
() => {
/* an error occurred while removing the directory */
},
);
浏览器兼容性
BCD 表仅在浏览器中加载