Node.js 深入了解Process对象
在本文中,我们将详细探讨Node.js中的进程对象。Node.js中的 Process 对象是一个全局对象,可以在任何模块中使用,而无需在环境中导入它。这个对象在获取与Node.js环境相关的信息和程序的运行时集合方面非常有用。
下面列出了进程的事件:
- beforeExit
- exit
- config
- argv
我们将在下面描述每个事件:
1. beforeExit事件: 当程序的所有任务完成且程序即将退出时,将触发此事件,但是它总是在exit事件之前执行。
注意: 在下一个示例中,您将更清楚地了解exit事件和beforeExit事件之间的区别。
让我们通过下面解释的实现来理解:
process.on('beforeExit', function (code) {
console.log("Executed After finishing "
+ "all the tasks with code: ", code);
});
function add(arr) {
let ans = 0
for (let ele of arr) {
ans += ele
}
return ans
}
const store = add([1, 2, 3, 4, 5]);
console.log("Addition :", store);
输出:
Addition : 15
Executed After finishing all the tasks with code: 0
2. exit事件: 当程序完成所有任务并即将退出程序时,会触发或执行此事件,但它总是在 beforeExit 事件之后触发。
让我们通过下面的实现来理解:
process.on('exit', function (code) {
console.log("Executed After the "
+ "beforeExit Event: ", code);
});
process.on('beforeExit', function (code) {
console.log("Executed After finishing "
+ "all the tasks with code: ", code);
});
function add(arr) {
let ans = 0
for (let ele of arr) {
ans += ele
}
return ans
}
const store = add([1, 2, 3, 4, 5]);
console.log("Addition :", store);
输出:
Addition : 15
Executed After finishing all the tasks with code: 0
Executed After the beforeExit Event: 0
解释: 正如你所看到的,退出事件在beforeExit事件之后被执行。因此,现在你应该清楚退出事件和beforeExit事件之间的明显区别。
3. config事件: 此事件提供了当前Node.js可执行文件的对象,并提供有关当前运行文件的简要信息。
让我们通过下面的实现来理解:
function add(arr) {
let ans = 0
for (let ele of arr) {
ans += ele
}
return ans
}
const store = add([1, 2, 3, 4, 5]);
console.log("Addition :", store);
console.log(process.config);
输出:
4. argv 事件:
process.argv 属性返回一个包含传入的命令行参数的数组。第一个参数总是可执行路径,第二个参数则是可执行的 JavaScript 文件的路径,其余则是命令行参数的附加参数。
下面我们通过如下的实例来进一步理解:
process.argv.forEach((val, index) => {
console.log(index + ":" + val);
});
输出: