【发布时间】:2018-03-12 19:29:33
【问题描述】:
我不知道我的代码是否有问题。我正在查看新 json 文件的目录。 fs.watch 会看到该文件,但会在日志中记录三个条目。我似乎无法弄清楚为什么。
我的代码
'use strict';
var fs = require('fs');
fs.watch('C:/Users/PCAdmin/Downloads/jsonin', function (event, filename) {
console.log('event is: ' + event);
if (filename) {
console.log('filename provided: ' + filename);
} else {
console.log('filename not provided');
}
});
输出:
LOG ENTRIES
event is: rename
filename provided: 23456.json
event is: change
filename provided: 23456.json
event is: change
filename provided: 23456.json
【问题讨论】:
-
你能描述一下填充那个目录的东西吗?您所看到的可能与首先将文件放在那里的事情有很大关系。
-
现在我只是从另一个目录复制一个测试文件并粘贴到监视目录中。
-
因此,经过大量研究,fs.watch 似乎正在获取 ReadDirectoryChangesW FILE_NOTIFY_CHANGE_FILE_NAME、FILE_NOTIFY_CHANGE_LAST_WRITE、FILE_NOTIFY_CHANGE_ATTRIBUTES