如果文件不存在,fs.watch是否有错误处理程序?

时间:2016-05-02 18:38:39

标签: javascript node.js

nodejs fs模块中。

const fs = require('fs');
fs.watch('target.txt', function() {
console.log("File 'target.txt' just changed!");
});

如果文件不存在我得到:

fs.js:1172
    throw errnoException(err, 'watch');
          ^
Error: watch ENOENT
    at exports._errnoException (util.js:746:11)
    at FSWatcher.start (fs.js:1172:11)
如果文件不存在,

是否没有err回调?在这里处理错误的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以尝试像这样包装它,它会在执行任何操作之前检查存在的文件。

    if (fs.existsSync('target.txt')) {
        fs.watch('target.txt', function() {
           console.log("File 'target.txt' just changed!");
        });
    }