FileSystemDirectoryHandle: removeEntry() 方法

Baseline 已广泛支持

此功能已成熟,并可在许多设备和浏览器版本上运行。自 2023 年 3 月以来,它已在各种浏览器中可用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

注意:此功能在 Web Workers 中可用。

removeEntry() 方法是 FileSystemDirectoryHandle 接口的一部分,它会尝试移除目录句柄中名为指定名称的文件或目录条目。

语法

js
removeEntry(name)
removeEntry(name, options)

参数

name

一个字符串,表示您希望删除的条目的 FileSystemHandle.name

options 可选

一个可选对象,包含以下选项:

recursive 可选

一个布尔值,默认为 false。当设置为 true 时,条目将被递归删除。

返回值

一个 Promise,它会以 undefined 解析。

异常

TypeError

如果名称不是有效的字符串或包含文件系统不允许的字符,则会抛出此错误。

NotAllowedError DOMException

如果句柄的 PermissionStatus.statereadwrite 模式下不是 'granted',则会抛出此错误。

InvalidModificationError DOMException

如果 recursive 设置为 false 且要删除的条目有子项,则会抛出此错误。

NotFoundError DOMException

如果当前条目未找到,或者指定名称的条目未找到或不匹配,则会抛出此错误。

示例

下面的示例移除了目录句柄中的一个条目。

js
const entryName = "entryToRemove";

// assuming we have a directory handle: 'currentDirHandle'
currentDirHandle.removeEntry(entryName).then(() => {
  // code to run if removing was successful
});

规范

规范
文件系统
# api-filesystemdirectoryhandle-removeentry

浏览器兼容性

另见