在 fs.watch() 中混淆 node.js 中的回调函数
confuse in fs.watch() callback function in node.js
fs.watch('./tmp', {encoding: 'buffer'}, (eventType, filename) => {
if (filename)
console.log(filename);
// Prints: <Buffer ...>
});
它是从 node.js file system 's Class: fs.FSWatcher 文档
复制的
文档描述 eventType 是 string 类型,可以是 'change'或 'rename'
所以我写的代码如下
fs.watch('./public/dir',function('change','xx.txt'){
console.log('file changed');
});
但是 SyntaxError: 意外的字符串
我不明白什么是 eventType 和 filename
请描述它是什么。
侦听器回调有两个参数(eventType、文件名)。 eventType 是 'rename' 或 'change'.
Filename 是触发事件的文件名。来自文档。
https://nodejs.org/api/fs.html#fs_fs_watch_filename_options_listener
eventType, filename <- 它只是来自侦听器的回调变量。
要修复你需要这样做。
fs.watch('./public/dir',function(typeOfEvent, nameOfFile){
console.log(typeOfEvent);
console.log(nameOfFile);
});
希望对您有所帮助。
fs.watch('./tmp', {encoding: 'buffer'}, (eventType, filename) => {
if (filename)
console.log(filename);
// Prints: <Buffer ...>
});
它是从 node.js file system 's Class: fs.FSWatcher 文档
复制的文档描述 eventType 是 string 类型,可以是 'change'或 'rename' 所以我写的代码如下
fs.watch('./public/dir',function('change','xx.txt'){
console.log('file changed');
});
但是 SyntaxError: 意外的字符串
我不明白什么是 eventType 和 filename
请描述它是什么。
侦听器回调有两个参数(eventType、文件名)。 eventType 是 'rename' 或 'change'.
Filename 是触发事件的文件名。来自文档。 https://nodejs.org/api/fs.html#fs_fs_watch_filename_options_listener
eventType, filename <- 它只是来自侦听器的回调变量。
要修复你需要这样做。
fs.watch('./public/dir',function(typeOfEvent, nameOfFile){
console.log(typeOfEvent);
console.log(nameOfFile);
});
希望对您有所帮助。