fsPromises.opendir(path[, options])


  • path <string> | <Buffer> | <URL>

  • options <Object>

    • encoding <string> | <null> 默认值:'utf8'

      ¥encoding <string> | <null> Default: 'utf8'

    • bufferSize <number> 当从目录读取时,在内部缓冲的目录条目数。值越大,性能越好,但内存使用率越高。默认值:32

      ¥bufferSize <number> Number of directory entries that are buffered internally when reading from the directory. Higher values lead to better performance but higher memory usage. Default: 32

  • 返回:<Promise> 满足 <fs.Dir>

    ¥Returns: <Promise> Fulfills with an <fs.Dir>.

异步地打开目录进行迭代扫描。有关更多详细信息,请参阅 POSIX opendir(3) 文档。

¥Asynchronously open a directory for iterative scanning. See the POSIX opendir(3) documentation for more detail.

创建 <fs.Dir>,其中包含用于从目录读取和清理目录的所有进一步的函数。

¥Creates an <fs.Dir>, which contains all further functions for reading from and cleaning up the directory.

encoding 选项设置在打开目录和随后的读取操作时 path 的编码。

¥The encoding option sets the encoding for the path while opening the directory and subsequent read operations.

使用异步迭代的示例:

¥Example using async iteration:

import { opendir } from 'node:fs/promises';

try {
  const dir = await opendir('./');
  for await (const dirent of dir)
    console.log(dirent.name);
} catch (err) {
  console.error(err);
} 

当使用异步迭代器时,<fs.Dir> 对象将在迭代器退出后自动关闭。

¥When using the async iterator, the <fs.Dir> object will be automatically closed after the iterator exits.