Object 内置对象

对象 FSWatcher

文件系统观察对象

当调用 fs.watch(target) 成功时, 返回该类型对象

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
var fs = require("fs"); var watcher = fs.watch((eventType, filename) => { if (filename) { console.log(filename); // Prints: <Buffer ...> } }); watcher.close(); // 带回调地调用 fs.watch('./tmp', { encoding: 'buffer' }, (eventType, filename) => { if (filename) { console.log(filename); // Prints: <Buffer ...> } });

继承关系

静态属性

defaultMaxListeners

Integer, 默认全局最大监听器数

1
static Integer FSWatcher.defaultMaxListeners;

成员属性

onchange

Function, 查询和绑定"文件改变"事件,相当于 on("change", func);

1
Function FSWatcher.onchange;

onclose

Function, 查询和绑定"watcher 关闭"的事件,相当于 on("close", func);

1
Function FSWatcher.onclose;

onerror

Function, 查询和绑定"错误发生"的事件,相当于 on("error", func);

1
Function FSWatcher.onerror;

成员函数

close

关闭该 Watcher, 不再接收对应的文件变化处理事件

1
FSWatcher.close();

on

绑定一个事件处理函数到对象

1 2
Object FSWatcher.on(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

绑定一个事件处理函数到对象

1
Object FSWatcher.on(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称将作为事件名称,属性的值将作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

addListener

绑定一个事件处理函数到对象

1 2
Object FSWatcher.addListener(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

绑定一个事件处理函数到对象

1
Object FSWatcher.addListener(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称将作为事件名称,属性的值将作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

prependListener

绑定一个事件处理函数到对象起始

1 2
Object FSWatcher.prependListener(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

绑定一个事件处理函数到对象起始

1
Object FSWatcher.prependListener(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称将作为事件名称,属性的值将作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

once

绑定一个一次性事件处理函数到对象,一次性处理函数只会触发一次

1 2
Object FSWatcher.once(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

绑定一个一次性事件处理函数到对象,一次性处理函数只会触发一次

1
Object FSWatcher.once(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称将作为事件名称,属性的值将作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

prependOnceListener

绑定一个事件处理函数到对象起始

1 2
Object FSWatcher.prependOnceListener(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

绑定一个事件处理函数到对象起始

1
Object FSWatcher.prependOnceListener(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称将作为事件名称,属性的值将作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

off

从对象处理队列中取消指定函数

1 2
Object FSWatcher.off(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

取消对象处理队列中的全部函数

1
Object FSWatcher.off(String ev);

调用参数:

  • ev: String, 指定事件的名称

返回结果:

  • Object, 返回事件对象本身,便于链式调用

从对象处理队列中取消指定函数

1
Object FSWatcher.off(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称作为事件名称,属性的值作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

removeListener

从对象处理队列中取消指定函数

1 2
Object FSWatcher.removeListener(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

取消对象处理队列中的全部函数

1
Object FSWatcher.removeListener(String ev);

调用参数:

  • ev: String, 指定事件的名称

返回结果:

  • Object, 返回事件对象本身,便于链式调用

从对象处理队列中取消指定函数

1
Object FSWatcher.removeListener(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称作为事件名称,属性的值作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

removeAllListeners

从对象处理队列中取消所有事件的所有监听器, 如果指定事件,则移除指定事件的所有监听器。

1
Object FSWatcher.removeAllListeners(Array evs = []);

调用参数:

  • evs: Array, 指定事件的名称

返回结果:

  • Object, 返回事件对象本身,便于链式调用

setMaxListeners

监听器的默认限制的数量,仅用于兼容

1
FSWatcher.setMaxListeners(Integer n);

调用参数:

  • n: Integer, 指定事件的数量

getMaxListeners

获取监听器的默认限制的数量,仅用于兼容

1
Integer FSWatcher.getMaxListeners();

返回结果:

  • Integer, 返回默认限制数量

listeners

查询对象指定事件的监听器数组

1
Array FSWatcher.listeners(String ev);

调用参数:

  • ev: String, 指定事件的名称

返回结果:

  • Array, 返回指定事件的监听器数组

listenerCount

查询对象指定事件的监听器数量

1
Integer FSWatcher.listenerCount(String ev);

调用参数:

  • ev: String, 指定事件的名称

返回结果:

  • Integer, 返回指定事件的监听器数量

eventNames

查询监听器事件名称

1
Array FSWatcher.eventNames();

返回结果:

  • Array, 返回事件名称数组

emit

主动触发一个事件

1 2
Boolean FSWatcher.emit(String ev, ...args);

调用参数:

  • ev: String, 事件名称
  • args: ..., 事件参数,将会传递给事件处理函数

返回结果:

  • Boolean, 返回事件触发状态,有响应事件返回 true,否则返回 false

toString

返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现

1
String FSWatcher.toString();

返回结果:

  • String, 返回对象的字符串表示

toJSON

返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合

1
Value FSWatcher.toJSON(String key = "");

调用参数:

  • key: String, 未使用

返回结果:

  • Value, 返回包含可 JSON 序列化的值