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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。