JS難點概念3——回調
阿新 • • 發佈:2018-09-24
cal blank 通過 依賴 call 結果 mem exec style
概念:
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.
回調函數()通過參數的形式傳遞到另個函數,在另一個函數的方法執行完後,執行回調函數;
作用:
請求後端數據或耗時長後,依賴前面的方法或屬性,用這些數據做後邊的事。)
例子:Ajax請求後臺數據後,把請求的數據顯示在頁面上。
例子:
場景
朋友聚會後各種回家,他們約定通過各種途徑回家完成後,在微信群報個到!
goHomeMethod(‘走回家了‘,goHomeMethodDone) function goHomeMethod (method,callback) { //走回家的方式 console.log(method); //朋友1走回家30分鐘,朋友2騎自行車40分鐘。。。。。。 callback(); //回調函數 } //回調函數 function goHomeMethodDone () { //走回家後的報到 console.log("微信發報到消息!"); }
打印結果:
走回家了
微信發報到消息!
(如果定時器時,定時器的方法會添加到事件隊列的末尾)
a(‘走回家了‘,goHomeMethodDone) function a (method,callback) { seTimeout(function () { console.log(method) }) callback(); } 打印結果:(定時器會把‘我回家了’添加到事件隊列的末尾) 微信發報到消息! 走回家了
使用一個定時器和回調函數防止代碼阻塞
JS難點概念3——回調