Q. 非同步程式設計
synchronous programming => blocking, 這在 網路請求, I/O操作, 都會有鎖住的情形
Asynchronous programming => non-blocking
Javascript程式在執行時, 它會以單執行緒來執行
Javascript 擁有三個不同時代的非同步支援: callback 時代, promise 時代, 與產生器時代
Q. Callback
將函式傳入函式. 提供一個函式, 在未來的某個時機被呼叫
Callback hell