Elaine's Blog 朝著 senior 前進的工程師

JavaScript 同步、非同步

2017-06-09

Callback 回呼

  • 概念:當客戶打給你時,你正在跟別人通電話,所以你會請客戶稍等,等你講完這通電話再回撥給他
  • 當某事發生的時候,請利用這個 function 通知我

    • 把 function b 以參數的方式傳入 function a,那麼 a 做完才會再做 b
    • 常用點擊事件「當有人點擊這顆按鈕時,請用這個 function 通知我」

      $("#id").click(function() {
        alert("這是 callback");
      });
      
    • setTimeout「當過了三秒時,請用這個 function 通知我」

      setTimeout(function() {
        alert("這是 callback");
      }, 3000);
      
    • window.onload 「當網頁載入完成時,請用這個 function 通知我」

      window.onload = function() {
        alert("這是 callback");
      };
      

同步與非同步

  • Synchronous 同步
    • 代表執行時程式會卡在那一行,直到有結果為止
  • Asynchronous 非同步
    • 代表執行時不會卡住,但執行結果不會放在回傳值,而是需要透過 callback function (回呼函式) 來接收結果
    • 例如 ajax、setTimeout

參考資料


Similar Posts

下一篇 CSS Flexbox

Content