一道题判断本身是否明白node事件机制

const fs = require('fs');
(function mainline() {
    Promise.resolve().then(res => { console.log('D') });

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

    console.log('A');

    setTimeout(() => {
      console.log('N')
      process.nextTick(() => { console.log('O') })
    },0); // delay 为 80 的时候答案时多少呢?

    setImmediate(() => {
        console.log('G');
        fs.readFile('./vuex.mp4', 'utf8', (err, files) => { console.log('J') })
    });
    
    fs.readFile('./vuex.mp4', 'utf8', (err, files) => {
        console.log('E');

        setTimeout(() => { console.log('M') }, 50);

        setTimeout(() => { console.log('L') },20);

        setImmediate(() => { console.log('H') });

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

            setImmediate(() => {
              console.log('I');

              setImmediate(() => {
                  console.log('K');
              });
            });

            setTimeout(() => { console.log('我在哪里') }, 0);
        });
        console.log('我又在哪里')
    });
    console.log('B');
})();
复制代码

答案是什么呢?vue

若是你能在不运行代码的状况下说出答案,那么,恭喜你战胜了99%的node工程师。node

相关文章
相关标签/搜索