在node.js中的fs.watch()回调函数中混淆

时间:2016-10-11 08:39:26

标签: node.js fs

fs.watch('./tmp', {encoding: 'buffer'}, (eventType, filename) => {
  if (filename)
    console.log(filename);
    // Prints: <Buffer ...>
});

它是node.js file system 's Class: fs.FSWatcher文档

的副本

文档描述 eventType 字符串类型,它可以是'更改''重命名' 所以我写下像bellow

这样的代码
fs.watch('./public/dir',function('change','xx.txt'){
    console.log('file changed');
});

SyntaxError:意外的字符串

我不明白什么是 eventType 文件名

plz描述它是什么。

1 个答案:

答案 0 :(得分:1)

侦听器回调获取两个参数(eventType,filename)。 eventType是&#39;重命名&#39;或者&#39;改变&#39;。

Filename是触发事件的文件的名称。来自docs。 https://nodejs.org/api/fs.html#fs_fs_watch_filename_options_listener

eventType,filename&lt; - 它只是来自侦听器的回调变量。

要解决此问题,您需要这样做。

fs.watch('./public/dir',function(typeOfEvent, nameOfFile){
    console.log(typeOfEvent);
    console.log(nameOfFile);
});

希望这有帮助。