#### macro-task隊列真實包含任務:
script(主程序代碼),setTimeout, setInterval, setImmediate, I/O, UI rendering
#### micro-task隊列真實包含任務:
process.nextTick, Promises, Object.observe, MutationObserver
#### 由此我們得到的執行順序應該為:
script(主程序代碼)—>process.nextTick—>Promises...——>setTimeout——>setInterval——>setImmediate——> I/O——>UI rendering
#### 例子
~~~
setTimeout(function(){console.log(1)},0);
new Promise(function(resolve,reject){
console.log(2);
resolve();
}).then(function(){console.log(3)
}).then(function(){console.log(4)});
process.nextTick(function(){console.log(5)});
console.log(6);
//輸出2,6,5,3,4,1
~~~