回調函數之同步回調和異步回調


1. 什么是回調函數?

回調函數就是一個通過函數指針調用的函數。如果你把函數的指針(地址)作為參數傳遞給另一個函數,當這個指針被用為調用它所指向的函數時,我們就說這是回調函數。

在JavaScript中,回調函數具體的定義為:函數A作為參數(函數引用)傳遞到另一個函數B中,並且這個函數B執行函數A。我們就說函數A叫做回調函數。如果沒有名稱(函數表達式),就叫做匿名回調函數。

詳細請參考  https://blog.csdn.net/yilovexing/article/details/93192484
 

2. 同步回調和異步回調

(1)同步回調

  含義:立即執行,完全執行完了才結束,不會放入回調隊列中

  例子:數組遍歷相關的回調函數 / Promise的excutor函數

下面用代碼說明:

const arr = [1, 2, 3, 4, 5]
arr.forEach(item => {
    console.log(item);   
  })
console.log('forEach之后打印'); 

 

 (2)異步回調

  含義:不會立即執行,會放入回調隊列中將來執行

  例子:定時器回調 / ajax回調 / Promise的成功|失敗的回調

請看代碼:

 setTimeout(() => {
    console.log('timeout callback');   
  }, 0)
 console.log('setTimeout之前'); 

 

 關於同步回調和異步回調函數的更多相關理解請參考 https://www.cnblogs.com/still-smile/p/12048078.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM