node.js 中的process 对象

process 对象是node.js 中一个很重要的对象。

process 即进程,这个对象里面包含了很多与进程相关的方法。

下面这段,是官网 https://nodejs.org/api/process.html 的介绍

The process object is a global that provides information about, and control over, the current Node.js process. As a global, it is always available to Node.js applications without using require(). It can also be explicitly accessed using require():

const process = require('process');

可见,process 对象是一个全局对象,不用写require ,直接使用即可。

下面介绍process 中几种常用的属性与方法。

首先是参数相关: argv, argv0, execArgv, execPath . Node.js 在启动的时候,想看启动脚本相关的参数(经常会通过启动脚本传递一些参数)

下面我们分别打印一下

argv 的话可以把 传入的参数(文件名后面)获取。argv0 的话就是 node,不常用。execArgv 能把文件名前面的参数获取出来。execPath 是执行脚本的地址。

const {argv, argv0, execArgv, execPath } = process;

console.log("argv is ", argv);
console.log("argv0 is ", argv0);
console.log("execArgv is ", execArgv);
console.log("execPath is ", execPath);

接下来是 env 属性。

const { env } = process;

console.log(env);

然后,它会把系统的一些信息打印出来。

接下来是process 的 cwd 方法

console.log(process.cwd());

接下来是 process 的 nextTick 方法

它与Global 的setImmediate 方法很相似。

setImmediate 是一个异步执行的方法,指当前回合的事件循环(Event Loop)结束后,立即执行的一个方法。当前任务执行完后,下一个任务是它。(一般使用它)。

process.nextTick 方法的话,是当前事件队列中正在执行的代码执行完后,就执行它。当前任务队尾下一任务之前。

我们写下,下面的代码。nextTick 会比 setImmediate 先执行。

setImmediate( () => {
	console.log("setImmediate");
}
process.nextTick( () => {
	console.log("nextTick");
})

setImmediate( () => {
	console.log("setImmediate");
});

setTimeout( () => {
	console.log("setTimeout");
},0);

process.nextTick( () => {
	console.log("nextTick");
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值