node版本切换
nvm ls
nvm install v16.16.0
nvm use
查看node版本node --version
配置默认版本nvm alias default(itrm2可能一个窗口就是一个node版本)
node中使用临时变量
export a = 1 && node 2.env.js (zsh中=号两遍不能有空格)
mac中是export,windows中是set
node中nextTick()和setImmediate()区别
nextTick()的回调函数执行的优先级要高于setImmediate()。process.nextTick()属于idle观察者,setImmediate()属于check观察者.在每一轮循环检查中,idle观察者先于I/O观察者,I/O观察者先于check观察者。
在具体实现上,process.nextTick()的回调函数保存在一个数组中,setImmediate()的结果则是保存在链表中。在行为上process.nextTick()在每轮循环中会将数组中的回调函数全部执行完,而setImmediate()在每轮循环中执行链表中的一个回调函数。
process.nextTick 是将异步回调放到当前帧的末尾、io回调之前,如果nextTick过多,会导致io回调不断延后,最后callback堆积太多。setImmediate 是将异步回调放到下一帧,不影响io回调,不会造成callback 堆积。