fsPromises.watch(filename[, options])


返回一个异步迭代器,用于监视 filename 的变化,其中 filename 可以是文件或目录。

【Returns an async iterator that watches for changes on filename, where filename is either a file or a directory.】

const { watch } = require('node:fs/promises');

const ac = new AbortController();
const { signal } = ac;
setTimeout(() => ac.abort(), 10000);

(async () => {
  try {
    const watcher = watch(__filename, { signal });
    for await (const event of watcher)
      console.log(event);
  } catch (err) {
    if (err.name === 'AbortError')
      return;
    throw err;
  }
})(); 

在大多数平台上,每当目录中出现或消失一个文件名时,都会触发 'rename'

【On most platforms, 'rename' is emitted whenever a filename appears or disappears in the directory.】

关于 fs.watch() 的所有 注意事项 也同样适用于 fsPromises.watch()

【All the caveats for fs.watch() also apply to fsPromises.watch().】