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)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。