• 异步任务分为两类:
      • 宏任务
        • 异步 Ajax 请求
        • setTimeout、setInterval
        • 文件操作
        • 其他宏任务
      • 微任务
        • Promise.then、.catch 和 .finally
        • process.nextTick
        • 其他微任务
    • 分析以下代码的输出顺序: ```javascript setTimeout(function () { console.log(‘1’); })

    new Promise(function (resolve) { console.log(‘2’); resolve() }).then(function() { console.log(‘3’); })

    console.log(‘4’);

    /*

    • 输出结果:
    • 2
    • 4
    • 3
    • 1 */ ```