對象FSWatcher
檔案系統觀察對象
當呼叫fs.watch(target)
成功時, 傳回該類型對象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19var fs = require("fs");
var watcher = fs.watch((eventType, filename) => {
if (filename) {
console.log(filename);
// Prints: <Buffer ...>
}
});
watcher.close();
// calling fs.watch with callback and options
fs.watch('./tmp', {
encoding: 'buffer'
}, (eventType, filename) => {
if (filename) {
console.log(filename);
// Prints: <Buffer ...>
}
});
繼承關係
靜態屬性
defaultMaxListeners
Integer, 預設全域最大監聽器數
1static Integer FSWatcher.defaultMaxListeners;
成員屬性
onchange
Function, 查詢與綁定"文件改變"事件,相當於on("change", func);
1Function FSWatcher.onchange;
onclose
Function, 查詢與綁定"watcher 關閉"的事件,相當於on("close", func);
1Function FSWatcher.onclose;
onerror
Function, 查詢與綁定"錯誤發生"的事件,相當於on("error", func);
1Function FSWatcher.onerror;
成員函數
close
關閉該Watcher, 不再接收對應的檔案變更處理事件
1FSWatcher.close();
on
綁定一個事件處理函數到對象
1
2Object FSWatcher.on(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
綁定一個事件處理函數到對象
1Object FSWatcher.on(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱將作為事件名稱,屬性的值將作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
addListener
綁定一個事件處理函數到對象
1
2Object FSWatcher.addListener(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
綁定一個事件處理函數到對象
1Object FSWatcher.addListener(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱將作為事件名稱,屬性的值將作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
prependListener
綁定一個事件處理函數到物件起始
1
2Object FSWatcher.prependListener(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
綁定一個事件處理函數到物件起始
1Object FSWatcher.prependListener(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱將作為事件名稱,屬性的值將作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
once
綁定一個一次性事件處理函數到對象,一次性處理函數只會觸發一次
1
2Object FSWatcher.once(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
綁定一個一次性事件處理函數到對象,一次性處理函數只會觸發一次
1Object FSWatcher.once(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱將作為事件名稱,屬性的值將作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
prependOnceListener
綁定一個事件處理函數到物件起始
1
2Object FSWatcher.prependOnceListener(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
綁定一個事件處理函數到物件起始
1Object FSWatcher.prependOnceListener(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱將作為事件名稱,屬性的值將作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
off
從物件處理佇列中取消指定函數
1
2Object FSWatcher.off(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
取消物件處理佇列中的全部函數
1Object FSWatcher.off(String ev);
呼叫參數:
- ev: String, 指定事件的名稱
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
從物件處理佇列中取消指定函數
1Object FSWatcher.off(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱作為事件名稱,屬性的值作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
removeListener
從物件處理佇列中取消指定函數
1
2Object FSWatcher.removeListener(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
取消物件處理佇列中的全部函數
1Object FSWatcher.removeListener(String ev);
呼叫參數:
- ev: String, 指定事件的名稱
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
從物件處理佇列中取消指定函數
1Object FSWatcher.removeListener(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱作為事件名稱,屬性的值作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
removeAllListeners
從物件處理佇列中取消所有事件的所有監聽器, 如果指定事件,則移除指定事件的所有監聽器。
1Object FSWatcher.removeAllListeners(String ev);
呼叫參數:
- ev: String, 指定事件的名稱
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
從物件處理佇列中取消所有事件的所有監聽器, 如果指定事件,則移除指定事件的所有監聽器。
1Object FSWatcher.removeAllListeners(Array evs = []);
呼叫參數:
- evs: Array, 指定事件的名稱
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
setMaxListeners
監聽器的預設限制的數量,僅用於相容
1FSWatcher.setMaxListeners(Integer n);
呼叫參數:
- n: Integer, 指定事件的數量
getMaxListeners
取得監聽器的預設限制的數量,僅用於相容
1Integer FSWatcher.getMaxListeners();
回傳結果:
- Integer, 回傳預設限制數量
listeners
查詢物件指定事件的監聽器陣列
1Array FSWatcher.listeners(String ev);
呼叫參數:
- ev: String, 指定事件的名稱
回傳結果:
- Array, 傳回指定事件的監聽器數組
listenerCount
查詢物件指定事件的監聽器數量
1Integer FSWatcher.listenerCount(String ev);
呼叫參數:
- ev: String, 指定事件的名稱
回傳結果:
- Integer, 傳回指定事件的監聽器數量
查詢物件指定事件的監聽器數量
1
2Integer FSWatcher.listenerCount(Value o,
String ev);
呼叫參數:
- o: Value, 指定查詢的對象
- ev: String, 指定事件的名稱
回傳結果:
- Integer, 傳回指定事件的監聽器數量
eventNames
查詢監聽器事件名稱
1Array FSWatcher.eventNames();
回傳結果:
- Array, 傳回事件名稱數組
emit
主動觸發一個事件
1
2Boolean FSWatcher.emit(String ev,
...args);
呼叫參數:
- ev: String, 事件名稱
- args: ..., 事件參數,將會傳遞給事件處理函數
回傳結果:
- Boolean, 回傳事件觸發狀態,有回應事件回傳true,否則回傳false
toString
傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現
1String FSWatcher.toString();
回傳結果:
- String, 傳回物件的字串表示
toJSON
傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合
1Value FSWatcher.toJSON(String key = "");
呼叫參數:
- key: String, 未使用
回傳結果:
- Value, 傳回包含可JSON 序列化的值