【发布时间】:2011-03-22 16:33:28
【问题描述】:
根据API docs for Node 0.4.3,fs.watchFile(filename, [options], listener) 函数启动一个例程,该例程将
留意
filename的变化。每次访问文件时都会调用callback监听器。
它也说
options(如果提供)应该是一个包含两个成员的对象,一个布尔值persistent和interval,一个以毫秒为单位的轮询值
这表明它将根据间隔中的内容每隔一段时间检查一次。但它也说
默认为
{ persistent: true, interval: 0 }。
这是否意味着它会每毫秒检查文件时间是否更改?它是否侦听操作系统级别的事件?它是如何工作的?
【问题讨论】:
-
查看 tjameson 的回答:虽然它可能是重复的,但在那个旧问题中提供的答案已经过时了。我认为截至 2013 年,更多的现代解决方案比比皆是。
-
值得注意的是,在 Node v6 中,默认值为
{ persistent: true, interval: 5007 }。 0 的区间没有逻辑意义。在提出问题时,情况似乎并非如此,但 the current implementation in the C source 将 0 更改为 1:ctx->interval = interval ? interval : 1;。
标签: filesystems node.js filesystemwatcher