promise.then VS setTimeout 在chrome和node环境环境中均输出2, 3, 1, 先输出2没什么好说的,3和1顺序让人有些意外 原因: 有一个事件循环,但是任务队列可以有多个. 整个script代码,放在了macrotask queue中,setTimeout也放入macrotask queue. 但是,promise.then放到了另一个任务队列microtask queue中. 这两个任务队列执行顺序如下,取1个macrotask queue中的task,执行之…