如果您运行以下脚本,我遇到的问题是脚本不是每1秒更新一次运行,而是每隔3-5秒就不那么频繁。这是node.js的错误还是有办法解决它?
var http = require('http');
var fs = require('fs');
var f = "C:\\Test.txt";
fs.watchFile(f, (curr, prev) => {
console.log(`the current mtime is: ${curr.mtime} ${prev.mtime}`);
console.log(String(fs.readFileSync(f)));
});
setInterval(function() {
fs.writeFileSync('C:\\Test.txt',String(Date.now()));
}, 1000);
答案 0 :(得分:1)
它在setInterval
上正确写入,但fs.watchFile
以自己的间隔轮询。您可以使用options参数设置轮询间隔:
fs.watchFile(f, {interval: 1000}, (curr, prev) => {
...
}
这应该更像你期望的工作。
答案 1 :(得分:0)
fs.watchFile(f, {interval: 2000}, (curr, prev) => {
console.log(`the current mtime is: ${curr.mtime} ${prev.mtime}`);
console.log(String(fs.readFileSync(f)));
});
每2秒检查一次文件,默认显示为5。