node持续辨析(1)

2017-10-07  本文已影响12人  西兰花伟大炮
(1)process.nextTick()与setImmediate(fn);

process.nextTick方法可以在当前"执行栈"的尾部----下一次Event Loop(主线程读取"任务队列")之前----触发回调函数。也就是说,它指定的任务总是发生在所有异步任务之前。setImmediate方法则是在当前"任务队列"的尾部添加事件,也就是说,它指定的任务总是在下一次Event Loop时执行,这与setTimeout(fn, 0)很像

引用自阮一峰老师博客

const process = require('process');

setImmediate(()=>{
    console.log('------------------------------------');
    console.log('setImmediateA');
    console.log('------------------------------------');
    setImmediate(()=>{
        console.log('------------------------------------');
        console.log('setImmediateB');
        console.log('------------------------------------');
    })
})

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

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

console.log('我是同步任务');
运行结果为
image.png
image.png

自执行函数为同步任务


image.png
(2)nodejs在前端开发中的作用

(3)问题解决

  • 正确的程序莫名其妙报错,可能是node版本不够,需要升级。
上一篇 下一篇

猜你喜欢

热点阅读