fs.watchFile(filename[, options], listener)
| 版本 | 变化 |
|---|---|
| v10.5.0 | 现在支持 |
| v7.6.0 |
|
| v0.1.31 | 添加于:v0.1.31 |
参数
filename<string> | <Buffer> | <URL>options<Object>listener<Function>current<fs.Stats>previous<fs.Stats>
- 返回: <fs.StatWatcher>
注意 filename 上的变化。每次访问文件时都会调用回调listener。
options 参数可以省略。如果提供,它应该是一个对象。 options 对象可能包含一个名为 persistent 的布尔值,它指示只要正在监视文件,进程是否应该继续运行。 options 对象可以指定一个 interval 属性,指示应以毫秒为单位轮询目标的频率。
listener 获取当前统计对象和前一个统计对象的两个参数:
import { watchFile } from 'node:fs';
watchFile('message.text', (curr, prev) => {
console.log(`the current mtime is: ${curr.mtime}`);
console.log(`the previous mtime was: ${prev.mtime}`);
});
这些 stat 对象是 fs.Stat 的实例。如果 bigint 选项是 true ,则这些对象中的数值被指定为 BigInt s。
要在文件被修改而不是被访问时得到通知,有必要比较 curr.mtimeMs 和 prev.mtimeMs 。
当 fs.watchFile 操作导致 ENOENT 错误时,它将调用一次侦听器,所有字段都归零(或者,对于日期,Unix 纪元)。如果稍后创建文件,将再次调用侦听器,并使用最新的 stat 对象。这是自 v0.10 以来的函数更改。
使用 比 fs.watch() fs.watchFile 和 fs.unwatchFile 更有效。应尽可能使用fs.watch 而不是fs.watchFile 和fs.unwatchFile。
当fs.watchFile()正在观看的文件消失并重新出现时,第二个回调事件(文件重新出现)中previous的内容将与第一个回调事件(消失)中previous的内容相同.
这发生在:
- 文件被删除,然后恢复
- 文件被重命名,然后再次重命名回原来的名称
相关用法
- Node.js fs.watchFile()用法及代码示例
- Node.js fs.watch()用法及代码示例
- Node.js fs.watch(filename[, options][, listener])用法及代码示例
- Node.js fs.writeSync()用法及代码示例
- Node.js fs.writeFile()用法及代码示例
- Node.js fs.writeFileSync()用法及代码示例
- Node.js fs.write()用法及代码示例
- Node.js fs.writeFile(file, data[, options], callback)用法及代码示例
- Node.js fs.filehandle.datasync()用法及代码示例
- Node.js fs.chmod()用法及代码示例
- Node.js fs.read()用法及代码示例
- Node.js fs.Dirent.isFile()用法及代码示例
- Node.js fs.Dir.closeSync()用法及代码示例
- Node.js fs.fchmodSync()用法及代码示例
- Node.js fs.symlink(target, path[, type], callback)用法及代码示例
- Node.js fs.constants用法及代码示例
- Node.js fs.mkdir()用法及代码示例
- Node.js fs.mkdirSync()用法及代码示例
- Node.js fs.fdatasync()用法及代码示例
- Node.js fs.Dirent.isFIFO()用法及代码示例
- Node.js fs.copyFile()用法及代码示例
- Node.js fs.symlink()用法及代码示例
- Node.js fs.truncate()用法及代码示例
- Node.js fs.openSync()用法及代码示例
- Node.js fs.filehandle.write()用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 fs.watchFile(filename[, options], listener)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
