跳到主要内容

fs.FSWatcher

2024年10月14日
柏拉文
越努力,越幸运

成功调用 fs.watch() 方法将返回新的 fs.FSWatcher 对象。每当修改指定的被监视文件时,所有 fs.FSWatcher 对象都会触发 change 事件。

fs.FsWatcher 事件

  • change 事件

    • 触发: 当监视的目录或文件中的某些内容发生更改时触发。

    • 语法:

      watch(filename,{……},(eventType,filename)=>{

      })
      • eventType: string 发生的变更事件的类型
      • filename: string|buffer 更改的文件名(如果相关/可用)
  • close 事件

    • 触发: 当监视器停止监视变化时触发。关闭的 fs.FSWatcher 对象在事件句柄中不再可用。
  • error 事件

    • 触发: 在监视文件时发生错误时触发。 出错的 fs.FSWatcher 对象在事件句柄中不再可用。

fs.FsWatcher 属性

fs.FsWatcher 方法

  • watcher.close()

    • 作用: 停止监视给定 fs.FSWatcher 上的更改。 一旦停止,fs.FSWatcher 对象就不再可用。
  • watcher.ref()

    • 作用: 调用时,只要 fs.FSWatcher 处于活动状态,就请求 Node.js 事件循环不退出。 多次调用 watcher.ref() 将不起作用。默认情况下,所有 fs.FSWatcher 对象都被“引用”,这使得通常不需要调用 watcher.ref() 除非之前已经调用过 watcher.unref()。
    • 返回值: fs.FSWatcher
  • watcher.unref()

    • 作用: 调用时,活动的 fs.FSWatcher 对象不需要 Node.js 事件循环保持活动状态。 如果没有其他活动保持事件循环运行,则进程可能会在调用 fs.FSWatcher 对象的回调之前退出。 多次调用 watcher.unref() 将不起作用。
    • 返回值: fs.FSWatcher

参考资料


Node.js 中文网