// 內建的 events, 產生 events.EventEmitter() 後,就可以定義/註冊(附帶一提: .on() 或 .addListener() 兩者功能相同只是名稱不同而已)事件監聽器(event listenter), 之後透過 .emit() 來觸發該條件, 同時將參數傳遞給 event_Listener(callback function)讓它動起來
// events.js
var events = require('events');
var emitter = new events.EventEmitter();
emitter.on('bing', console.log);// .on(event_Pattern, event_Listenter)
emitter.emit('bing','go'); // .emit(event_Pattern, parameters_to_Listener)
// 內建的 child_process, 裡面的 .exec(), .spawn(), .fork() 可以讓指令平行處理, 如果要做自動化程序它是一個很好用的模組
// .exec() --> 開啟環境執行另一條系統指令, 可以攜帶 error,stdout.stderr,如有需要, 可以自行處理 callback function
// .spawn() --> 開啟環境執行另一條系統指令, 使用 events 來處理指令所帶進來的資料
// .fork() --> 開啟環境執行另一份 javascript, 並使用 events 來處理指令所帶進來的資料, 其實等同用 .spawn() 開啟環境執行指令前面加上 js 來執行 javascript
// test.js
const process = require('child_process');
for(var i=0; i<2 i="" p=""> var exec = process.exec('js events.js',function(err, stdout, stderr) {
if (err) console.log('stderr: ' + stderr);
else console.log(stdout);
});
exec.on('exit', function (code) {
console.log('process exist code='+code);
});
}2>
1 則留言:
張貼留言