4

我很难在我的 Windows 机器上使用 nodejs fs.watch 观看文件夹。删除监视文件夹时会引发异常。



    fs.watch('somedir', function (event, filename) {
        console.log('event is: ' + event);
        if (filename) {
            console.log('filename provided: ' + filename);
        } else {
            console.log('filename not provided');
        }
    });


当我删除 somedir 时,它会引发异常而不是回调。

4

1 回答 1

0

fs.watch返回一个fs.FSWatcher对象,该对象可能引发错误。

我刚刚对此进行了测试,似乎在删除文件夹时引发了错误事件。这是处理它的代码:

var fs = require('fs');

var path = "C:\\somedir";

var watcher = fs.watch(path, function (event, filename) {
  console.log('event is: ' + event);
  if (filename) {
    console.log('filename provided: ' + filename);
  } else {
    console.log('filename not provided');
  }
});


watcher.on('error', function(err) {
  if (!fs.existsSync(path)) {
    console.log('folder deleted');
  }
});
于 2017-03-23T15:13:25.743 回答